{
  "url": "https://apps.apple.com",
  "auditedAt": "2026-07-19T09:50:20.083Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage complete: all 58 catalog checks received conclusive outcomes.",
  "page": {
    "appType": "hybrid",
    "framework": "Svelte (class-name/runtime evidence), server-rendered catalog",
    "notes": "Public Apple App Store catalog. Entry redirects to /us/iphone/today. Representative coverage includes landing, listing, detail, editorial story and invalid-route recovery. Excluded: native App Store purchase/install handoff, authenticated account flows, every locale/device variant, and exhaustive app/story instances because they share templates."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "layout-metrics",
    "evaluate-probe",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "Lighthouse",
    "robots/sitemap/manifest HTTP fetch",
    "Modern Web Guidance 0.0.172"
  ],
  "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": "dom",
      "path": "evidence/app-detail-dom.json",
      "caption": "app detail dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/app-detail-mobile-layout.json",
      "caption": "app detail mobile layout",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/app-detail.png",
      "caption": "app detail",
      "findingIds": [
        "F-012"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/apps-listing-dom.json",
      "caption": "apps listing dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/apps-listing-mobile-layout.json",
      "caption": "apps listing mobile layout",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/apps-listing.png",
      "caption": "apps listing",
      "findingIds": [
        "F-012"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F-009"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "discoverability",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/error-404-dom.json",
      "caption": "error 404 dom",
      "findingIds": [
        "F-011"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/error-404.png",
      "caption": "error 404",
      "findingIds": [
        "F-011"
      ]
    },
    {
      "type": "other",
      "path": "evidence/forms-probe.json",
      "caption": "forms probe",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-1.json",
      "caption": "guidance search 1",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-10.json",
      "caption": "guidance search 10",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-11.json",
      "caption": "guidance search 11",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-12.json",
      "caption": "guidance search 12",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-13.json",
      "caption": "guidance search 13",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-14.json",
      "caption": "guidance search 14",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-15.json",
      "caption": "guidance search 15",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-16.json",
      "caption": "guidance search 16",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-17.json",
      "caption": "guidance search 17",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-18.json",
      "caption": "guidance search 18",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-19.json",
      "caption": "guidance search 19",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-2.json",
      "caption": "guidance search 2",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-20.json",
      "caption": "guidance search 20",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-21.json",
      "caption": "guidance search 21",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-22.json",
      "caption": "guidance search 22",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-23.json",
      "caption": "guidance search 23",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-24.json",
      "caption": "guidance search 24",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-25.json",
      "caption": "guidance search 25",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-26.json",
      "caption": "guidance search 26",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-27.json",
      "caption": "guidance search 27",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-28.json",
      "caption": "guidance search 28",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-29.json",
      "caption": "guidance search 29",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-3.json",
      "caption": "guidance search 3",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-30.json",
      "caption": "guidance search 30",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-31.json",
      "caption": "guidance search 31",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-32.json",
      "caption": "guidance search 32",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-33.json",
      "caption": "guidance search 33",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-34.json",
      "caption": "guidance search 34",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-35.json",
      "caption": "guidance search 35",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-36.json",
      "caption": "guidance search 36",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-37.json",
      "caption": "guidance search 37",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-38.json",
      "caption": "guidance search 38",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-39.json",
      "caption": "guidance search 39",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-4.json",
      "caption": "guidance search 4",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-40.json",
      "caption": "guidance search 40",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-41.json",
      "caption": "guidance search 41",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-42.json",
      "caption": "guidance search 42",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-43.json",
      "caption": "guidance search 43",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-44.json",
      "caption": "guidance search 44",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-45.json",
      "caption": "guidance search 45",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-46.json",
      "caption": "guidance search 46",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-47.json",
      "caption": "guidance search 47",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-48.json",
      "caption": "guidance search 48",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-49.json",
      "caption": "guidance search 49",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-5.json",
      "caption": "guidance search 5",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-50.json",
      "caption": "guidance search 50",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-51.json",
      "caption": "guidance search 51",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-52.json",
      "caption": "guidance search 52",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-53.json",
      "caption": "guidance search 53",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-54.json",
      "caption": "guidance search 54",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-55.json",
      "caption": "guidance search 55",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-56.json",
      "caption": "guidance search 56",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-57.json",
      "caption": "guidance search 57",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-58.json",
      "caption": "guidance search 58",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-59.json",
      "caption": "guidance search 59",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-6.json",
      "caption": "guidance search 6",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-7.json",
      "caption": "guidance search 7",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-8.json",
      "caption": "guidance search 8",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/guidance-search-9.json",
      "caption": "guidance search 9",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F-009"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post.json",
      "caption": "heap post",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast-more.png",
      "caption": "home contrast more",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F-012"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-light.png",
      "caption": "home light",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "home mobile layout",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F-003"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F-001",
        "F-002"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home",
      "findingIds": [
        "F-003"
      ]
    },
    {
      "type": "other",
      "path": "evidence/http-meta.txt",
      "caption": "http meta",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "images",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse.json",
      "caption": "lighthouse",
      "findingIds": [
        "F-001",
        "F-002",
        "F-003",
        "F-004",
        "F-005",
        "F-006",
        "F-007",
        "F-013",
        "F-014"
      ]
    },
    {
      "type": "other",
      "path": "evidence/manifest.json",
      "caption": "manifest",
      "findingIds": [
        "F-010"
      ]
    },
    {
      "type": "other",
      "path": "evidence/platform-probe.json",
      "caption": "platform probe",
      "findingIds": [
        "F-005",
        "F-007",
        "F-008"
      ]
    },
    {
      "type": "other",
      "path": "evidence/pwa-probe.json",
      "caption": "pwa probe",
      "findingIds": [
        "F-010"
      ]
    },
    {
      "type": "other",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/reduced-motion.json",
      "caption": "reduced motion",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/robots.txt",
      "caption": "robots",
      "findingIds": [
        "F-008"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-results.png",
      "caption": "search results",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/sitemap.xml",
      "caption": "sitemap",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/story-dom.json",
      "caption": "story dom",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/story-mobile-layout.json",
      "caption": "story mobile layout",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/story.png",
      "caption": "story",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": []
    }
  ],
  "config": {
    "loaded": false
  },
  "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": "pass",
      "confidence": "high",
      "method": "light/dark screenshots and rendered CSS",
      "evidence": "The light screenshot uses light system surfaces while the default dark capture uses dark surfaces; rendered CSS declares color-scheme: light dark and system color tokens.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "evaluate probe under prefers-reduced-motion: reduce",
      "evidence": "The emulated preference matched, no active animations remained, and five reduced-motion media rules were present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse contrast audit and prefers-contrast screenshot",
      "evidence": "Lighthouse color-contrast passed and the prefers-contrast: more screenshot retained legible text, icons and controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "DOM/CSS inspection across navigated templates",
      "evidence": "Representative route loads changed immediately and authored CSS exposed only short opacity transitions; no View Transition API or ::view-transition integration was found for route continuity.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ],
      "findingIds": [
        "F-012"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "DOM/CSS inspection and trace long-task review",
      "evidence": "Long content shelves use native overflow/scroll presentation; inspection found no continuous script-driven scroll animation and the trace showed only three bounded long tasks.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "mobile screenshots and DOM inspection",
      "evidence": "Horizontal shelves and mobile navigation use native scrolling/touch surfaces with no evidence of pointermove-based gesture reimplementation.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "desktop/mobile screenshots at representative templates",
      "evidence": "Desktop keeps a stable side rail while mobile collapses it to a compact header, preserving content space and orientation without intrusive floating chrome.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "recon of representative templates",
      "evidence": "No tooltip, context-menu, or edge-sensitive anchored overlay was required in the exercised catalog, detail, editorial, or discovery flow.",
      "reason": "No tooltip, context-menu, or edge-sensitive anchored overlay was required in the exercised catalog, detail, editorial, or discovery flow."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "visual review of first viewport and detail/listing templates",
      "evidence": "Each template uses a single H1, prominent hero or app identity, selected navigation state, and clear View links to direct attention.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "pass",
      "confidence": "high",
      "method": "load screenshots on four representative templates",
      "evidence": "No consent wall, modal, newsletter prompt, or full-viewport interruption obscured content on load.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "pass",
      "confidence": "medium",
      "method": "rendered DOM overlay probe",
      "evidence": "The rendered DOM exposed dialog/role-dialog surfaces rather than an unlabelled full-screen interruption; no forced overlay appeared during the exercised flow.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "high",
      "method": "desktop/mobile screenshot review",
      "evidence": "The compact side rail becomes a 44px mobile header; the rest of the viewport is devoted to catalog content and primary details.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "360x800 layout metrics on four templates",
      "evidence": "Home and story reported zero overflow; listing and detail reported only a 2px viewport-rounding delta, with no visible clipped content in mobile captures.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "pass",
      "confidence": "high",
      "method": "CSS rule probe plus mobile/desktop comparisons",
      "evidence": "The live stylesheet contained 30 @container rules and cards/navigation visibly reflowed between 780px and 360px.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "programmatic focus and computed-style probe",
      "evidence": "The first 20 focusable controls reported outline-style none, including search and primary navigation links, so keyboard focus lacks a dependable visible indicator.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "first-viewport screenshots and heading/link inspection",
      "evidence": "Today, Apps, story and app-detail templates state their purpose immediately and expose direct View/detail links with clear hierarchy.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "pass",
      "confidence": "high",
      "method": "navigation walkthrough from Today to listing, editorial story and app detail",
      "evidence": "Prominent href-backed cards and navigation reached rendered listing, story and Roblox detail templates without authentication or dead ends.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "high",
      "method": "invalid-route walkthrough and screenshot",
      "evidence": "The 404 state says only “The page you’re looking for can’t be found” and offers no contextual recovery action in the content pane.",
      "pathIds": [
        "error-404"
      ],
      "artifacts": [
        "evidence/error-404.png"
      ],
      "findingIds": [
        "F-011"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse mobile audit corroborated by trace/layout",
      "evidence": "Lighthouse measured LCP 12.5s, FCP 5.8s and TBT 262ms (performance 0.52); the trace still measured LCP 2.71s and 137ms TBT under a lighter run, so load performance is condition-sensitive and fails the lab mobile bar.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-001"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "pass",
      "confidence": "high",
      "method": "layout shift observers on four templates and Lighthouse",
      "evidence": "All representative layout captures and Lighthouse reported CLS 0 with dimensions reserved.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse and trace long-task evidence",
      "evidence": "Lighthouse measured 4.4s main-thread work, 2.1s JavaScript execution and 262ms TBT; the trace recorded three long tasks and 137ms TBT.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-002"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "HAR, Lighthouse and DOM head inspection",
      "evidence": "HAR recorded a redirect, parser-inserted high-priority stylesheets and 1.66MB initial transfer; Lighthouse found 30,047KiB total payload, 750ms render-blocking savings and 480ms document-latency savings. The parser script is type=module and was not treated as blocking.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse code-coverage audits",
      "evidence": "Lighthouse estimated 642KiB unused JavaScript (including 75.8% of the 622KiB main bundle) and 37KiB unused CSS (78.1% of the stylesheet).",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-002"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse accessibility audit and rendered DOM",
      "evidence": "Lighthouse found focusable descendants inside aria-hidden navigation and multiple cards whose visible label text did not match the accessible name.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-004",
        "F-014"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse contrast audit",
      "evidence": "Lighthouse reported no color-contrast failures on the audited mobile surface.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse heading audit plus computed focus probe",
      "evidence": "Lighthouse found H1-to-H3 heading skips, and the focus probe found outline-style none on search and navigation controls.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-005"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "desktop/mobile screenshot review",
      "evidence": "Body, heading, rating and metadata text remained readable with clear hierarchy and sensible line lengths across representative templates.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse target-size audit and mobile layouts",
      "evidence": "Mobile layouts reflowed without meaningful overflow, but Lighthouse found footer language links only 10px high with insufficient spacing.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-006"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Lighthouse console audit",
      "evidence": "Lighthouse reported no browser console errors during page load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "pass",
      "confidence": "high",
      "method": "DOM, images primitive and Lighthouse best-practices",
      "evidence": "The document has an HTML doctype, UTF-8 charset and viewport; Lighthouse passed responsive image sizing/aspect ratio and the layout observer reported CLS 0.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "issues",
      "confidence": "medium",
      "method": "Lighthouse best-practices and source-map audit",
      "evidence": "The best-practices category scored 1.0, but Lighthouse separately reported missing source maps for large first-party JavaScript, limiting production diagnostics.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-013"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "issues",
      "confidence": "high",
      "method": "head metadata probe and Lighthouse SEO",
      "evidence": "The homepage has a descriptive title but no meta description; Lighthouse failed the meta-description audit.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-007"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "high",
      "method": "discoverability, href and viewport inspection",
      "evidence": "Raw HTML retained 98% of rendered content, anchors have real hrefs, the viewport meta is present, and robots.txt permits public catalog paths.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "head metadata plus robots/sitemap HTTP inspection",
      "evidence": "The homepage returned 200 and robots.txt points to six sitemap indexes, but the page has no canonical link or hreflang signals despite locale/storefront variants.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-008"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "issues",
      "confidence": "high",
      "method": "head metadata probe",
      "evidence": "The homepage exposed no JSON-LD and no Open Graph metadata, leaving catalog/editorial content without machine-readable or social-preview context.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-007"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "pass",
      "confidence": "high",
      "method": "headers and secrets primitives",
      "evidence": "HTTPS, HSTS, CSP, nosniff and frame denial are present; the secrets scan found no exposed sensitive credentials.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "pass",
      "confidence": "medium",
      "method": "trackers and HAR review",
      "evidence": "No known tracker domains were detected; cross-origin requests were confined to Apple/mzstatic delivery, media and telemetry origins, with no third-party cookies.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "recon and DOM inspection",
      "evidence": "No permission request, sign-in, registration, or authentication surface appeared in the public browse/detail journeys tested.",
      "reason": "No permission request, sign-in, registration, or authentication surface appeared in the public browse/detail journeys tested."
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "headers and cookies primitives",
      "evidence": "Referrer-Policy and Permissions-Policy headers were absent, CSP permits unsafe-inline styles, and the geo cookie was set without Secure and with SameSite=None.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F-009"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "discoverability primitive with JavaScript-disabled crawler view",
      "evidence": "Raw server HTML returned 200 and retained 98% of rendered content, including title and H1; the crawler screenshot remained useful.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "multi-template navigation and 404 walkthrough",
      "evidence": "Listing, detail, editorial and invalid routes all rendered stable states without uncaught console errors or broken navigation chrome.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "issues",
      "confidence": "high",
      "method": "manifest fetch and service-worker registration probe",
      "evidence": "A standalone manifest exists, but it has no start_url and the live page had zero service-worker registrations, so offline/installable behavior is incomplete.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ],
      "findingIds": [
        "F-010"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "issues",
      "confidence": "high",
      "method": "invalid-route screenshot and DOM",
      "evidence": "The not-found route presents a clear message but no retry, home link, search prompt, or other recovery control in the main state.",
      "pathIds": [
        "error-404"
      ],
      "artifacts": [
        "evidence/error-404.png"
      ],
      "findingIds": [
        "F-011"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "high",
      "method": "DOM and locale-link inspection",
      "evidence": "The document declares lang=en-US and dir=ltr; CSS uses start-aligned declarations and the footer exposes multiple locale links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "pass",
      "confidence": "medium",
      "method": "global storefront and rendered locale affordance review",
      "evidence": "The storefront identifies en-US and provides explicit localized page links including Arabic, Korean, French, Portuguese and Chinese variants.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/platform-probe.json"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "not-applicable",
      "confidence": "high",
      "method": "content and DOM inspection",
      "evidence": "The representative catalog, app-detail and editorial surfaces contained no user-entered or scheduled date/time workflow requiring time-zone conversion.",
      "reason": "The representative catalog, app-detail and editorial surfaces contained no user-entered or scheduled date/time workflow requiring time-zone conversion."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "pass",
      "confidence": "high",
      "method": "visual review of browse and app-detail journeys",
      "evidence": "No consent manipulation, forced signup, disguised advertisement, confirmshaming, or obstructed cancellation appeared in the public flows.",
      "pathIds": [
        "home",
        "apps-listing",
        "app-detail",
        "story"
      ],
      "artifacts": [
        "evidence/app-detail.png"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "forms probe",
      "evidence": "The only form is catalog search; there is no required multi-field data-entry submission for which validation timing or aria-invalid behavior applies.",
      "reason": "The only form is catalog search; there is no required multi-field data-entry submission for which validation timing or aria-invalid behavior applies."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "not-applicable",
      "confidence": "high",
      "method": "forms probe",
      "evidence": "No sign-in, address, payment, or account fields appeared; search intentionally uses autocomplete=off and does not collect identity data.",
      "reason": "No sign-in, address, payment, or account fields appeared; search intentionally uses autocomplete=off and does not collect identity data."
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "journey recon",
      "evidence": "Web browsing exposes product information and external View actions, but no checkout, subscription, account, or reauthentication flow was available on the audited site.",
      "reason": "Web browsing exposes product information and external View actions, but no checkout, subscription, account, or reauthentication flow was available on the audited site."
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "pass",
      "confidence": "medium",
      "method": "images primitive, HAR and Lighthouse image audits",
      "evidence": "Rendered delivery used appropriately sized WebP artwork in the HAR; Lighthouse passed image sizing/aspect ratio and estimated a comparatively small 157KiB image opportunity.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Lighthouse payload and HAR media review",
      "evidence": "The mobile load fetched or discovered many high-resolution trailer variants; Lighthouse attributed roughly 30MB largely to 1.3–4.8MB video files despite a browse-first task.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "HAR and Lighthouse payload review",
      "evidence": "HAR recorded 47 cross-origin requests and 723KB initial cross-origin transfer; Lighthouse’s fuller run reached 30,047KiB, dominated by Apple trailer media variants.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/source capability inspection",
      "evidence": "This is a public browse/catalog surface with no declared agent action workflow; lack of WebMCP tools is not treated as a defect for the audited intent.",
      "reason": "This is a public browse/catalog surface with no declared agent action workflow; lack of WebMCP tools is not treated as a defect for the audited intent."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "DOM/source capability inspection",
      "evidence": "No summarisation, generation, or other inference feature is part of the public App Store web journey.",
      "reason": "No summarisation, generation, or other inference feature is part of the public App Store web journey."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "medium",
      "method": "heap baseline followed by ten open/dismiss attempts and post snapshot",
      "evidence": "After ten repeated country-control open/dismiss attempts, heap self size decreased from 36,274,590 to 36,266,169 bytes; node count rose only 1,023 (0.17%), with no retained-size growth signal.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "medium",
      "method": "heap summary proportionality review",
      "evidence": "The loaded content-rich catalog retained a 36.3MB self-size heap; this is bounded and proportionate to the large rendered catalog, though network/code costs remain separate findings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "before/after heap constructor comparison",
      "evidence": "The repeated interaction produced no material total retained-size growth; constructor summaries showed no growing Detached* population among dominant constructors.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-012"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-005"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-011"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-001",
        "F-002",
        "F-003"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-004",
        "F-014",
        "F-005",
        "F-006"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-013"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-007",
        "F-008"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F-009"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-010",
        "F-011"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F-003"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks were judged not applicable to this public browse/catalog journey."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Redirected Today landing page, representing editorial discovery and global navigation.",
      "url": "https://apps.apple.com/us/iphone/today",
      "conditions": [
        "desktop",
        "360x800",
        "light",
        "dark",
        "prefers-contrast: more",
        "prefers-reduced-motion: reduce",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "apps-listing",
      "description": "Apps listing, representing category/index shelves.",
      "url": "https://apps.apple.com/us/iphone/apps",
      "conditions": [
        "desktop",
        "360x800"
      ],
      "result": "issues"
    },
    {
      "id": "app-detail",
      "description": "Roblox product detail, representing app identity, ratings and media.",
      "url": "https://apps.apple.com/us/app/roblox/id431946152",
      "conditions": [
        "desktop",
        "360x800"
      ],
      "result": "issues"
    },
    {
      "id": "story",
      "description": "Essential iPhone Games, representing editorial story content.",
      "url": "https://apps.apple.com/us/iphone/story/id1610536524",
      "conditions": [
        "desktop",
        "360x800"
      ],
      "result": "issues"
    },
    {
      "id": "error-404",
      "description": "Invalid public route, representing HTTP/navigation failure recovery.",
      "url": "https://apps.apple.com/us/not-a-real-route-web-uplift",
      "conditions": [
        "desktop"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F-001",
      "severity": "high",
      "summary": "Slow mobile rendering delays the catalog",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse measured LCP 12.5s, FCP 5.8s and performance 0.52; trace LCP was 2.71s under a lighter run.",
      "suggestedFix": "Prioritize the hero/LCP resource, remove the initial redirect for canonical entry links, and shorten critical request chains.",
      "effort": "large",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-002",
      "severity": "high",
      "summary": "Main-thread and unused-code costs are substantial",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-main-thread",
      "guidanceId": "break-up-long-tasks",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse measured 4.4s main-thread work, 2.1s JS execution, 262ms TBT, 642KiB unused JS and 37KiB unused CSS.",
      "suggestedFix": "Code-split route/media features, defer HLS and noncritical modules, and break long startup tasks into scheduled chunks.",
      "effort": "large",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home-trace-summary.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-003",
      "severity": "high",
      "summary": "Trailer delivery creates an excessive mobile payload",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse reported 30,047KiB total payload dominated by multiple 1.3–4.8MB trailer variants; HAR recorded 47 cross-origin requests.",
      "suggestedFix": "Load poster images first, defer trailer manifests/code until explicit intent or proximity, and request only the selected rendition.",
      "effort": "large",
      "artifacts": [
        "evidence/lighthouse.json",
        "evidence/home.har",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-004",
      "severity": "high",
      "summary": "Hidden mobile navigation remains keyboard-focusable",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse found focusable navigation links inside an aria-hidden=true container.",
      "suggestedFix": "When collapsed, use inert/hidden or remove descendants from tab order; synchronize aria-hidden with the actual expanded state.",
      "effort": "medium",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-005",
      "severity": "high",
      "summary": "Keyboard focus is not visibly indicated",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Computed styles for search and primary navigation reported outline-style none; Lighthouse also found skipped heading levels.",
      "suggestedFix": "Add a high-contrast :focus-visible ring and make heading levels reflect document hierarchy.",
      "effort": "medium",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-006",
      "severity": "medium",
      "summary": "Footer locale links have undersized touch targets",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse measured locale links at only 10px high with insufficient safe spacing.",
      "suggestedFix": "Give each locale link at least a 24x24 CSS-pixel target and adequate separation, preferably 44px for comfortable touch use.",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-007",
      "severity": "medium",
      "summary": "Homepage search and share metadata is incomplete",
      "principleId": "be-discoverable",
      "principleCheckId": "title-and-description",
      "guidanceId": "html",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "The head probe and Lighthouse found no meta description; the page also had no JSON-LD or Open Graph tags.",
      "suggestedFix": "Add a concise unique description plus accurate Open Graph and schema.org metadata for each catalog archetype.",
      "effort": "medium",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-008",
      "severity": "medium",
      "summary": "Canonical and locale indexing signals are absent",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "The public homepage has no canonical or hreflang links, despite locale/storefront variants; robots.txt does advertise sitemap indexes.",
      "suggestedFix": "Emit self-referencing canonical and reciprocal hreflang links for storefront variants, preserving valid sitemap indexes.",
      "effort": "medium",
      "artifacts": [
        "evidence/platform-probe.json",
        "evidence/robots.txt"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-009",
      "severity": "medium",
      "summary": "Defensive policies and the geo cookie need tightening",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Headers lacked Referrer-Policy and Permissions-Policy; CSP allows unsafe-inline styles; geo was SameSite=None without Secure.",
      "suggestedFix": "Set explicit restrictive policies, mark cross-site cookies Secure, and reduce unsafe-inline using nonces/hashes or extracted styles.",
      "effort": "medium",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-010",
      "severity": "medium",
      "summary": "The PWA manifest does not provide offline behavior",
      "principleId": "be-resilient",
      "principleCheckId": "offline-and-installable",
      "guidanceId": "html",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "The standalone manifest has no start_url and the service-worker probe found zero registrations.",
      "suggestedFix": "Either complete the installable experience with start_url, service worker and tested offline fallback, or remove standalone installability signaling.",
      "effort": "medium",
      "artifacts": [
        "evidence/manifest.json",
        "evidence/pwa-probe.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-011",
      "severity": "low",
      "summary": "The not-found state has no recovery action",
      "principleId": "be-resilient",
      "principleCheckId": "network-and-http-failure-states",
      "guidanceId": "persistent-toast-notifications",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "The invalid-route screenshot shows only a not-found sentence with no home, search, back, or retry control.",
      "suggestedFix": "Add a prominent return-to-Today link and search affordance while preserving the clear error message.",
      "effort": "small",
      "artifacts": [
        "evidence/error-404.png",
        "evidence/error-404-dom.json"
      ],
      "pathId": "error-404",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-012",
      "severity": "low",
      "summary": "Route changes lack continuity cues",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Representative route loads expose no View Transition integration, so context changes abruptly between dense templates.",
      "suggestedFix": "Use same-document View Transitions for the content pane, with a reduced-motion fallback and stable navigation chrome.",
      "effort": "medium",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/apps-listing.png",
        "evidence/app-detail.png"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-013",
      "severity": "low",
      "summary": "Production JavaScript lacks source maps",
      "principleId": "follow-best-practices",
      "principleCheckId": "browser-platform-hygiene",
      "guidanceId": "html",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse reported missing source maps for large first-party JavaScript.",
      "suggestedFix": "Publish protected production source maps to the error-monitoring/debug pipeline or expose suitable maps where policy permits.",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    },
    {
      "id": "F-014",
      "severity": "medium",
      "summary": "Card accessible names do not include visible labels",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web",
      "confidence": "high",
      "evidence": "Lighthouse found multiple story cards whose aria-label omitted visible category or descriptive text.",
      "suggestedFix": "Ensure each card’s accessible name contains its visible label text, or remove redundant aria-label values and rely on semantic text.",
      "effort": "small",
      "artifacts": [
        "evidence/lighthouse.json"
      ],
      "pathId": "home",
      "url": "https://apps.apple.com"
    }
  ],
  "taskList": [
    {
      "id": "T-001",
      "title": "Defer and right-size trailer delivery; split startup code",
      "priority": 1,
      "findingIds": [
        "F-001",
        "F-002",
        "F-003"
      ],
      "guidanceId": "optimize-preload-priority",
      "status": "open"
    },
    {
      "id": "T-002",
      "title": "Repair hidden-navigation semantics and visible keyboard focus",
      "priority": 2,
      "findingIds": [
        "F-004",
        "F-005",
        "F-014"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-003",
      "title": "Add complete description, canonical, hreflang and share metadata",
      "priority": 3,
      "findingIds": [
        "F-007",
        "F-008"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-004",
      "title": "Tighten policies and cookie attributes",
      "priority": 4,
      "findingIds": [
        "F-009"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T-005",
      "title": "Increase locale-link touch targets",
      "priority": 5,
      "findingIds": [
        "F-006"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T-006",
      "title": "Complete or remove partial installability signaling",
      "priority": 6,
      "findingIds": [
        "F-010"
      ],
      "guidanceId": "html",
      "status": "open"
    },
    {
      "id": "T-007",
      "title": "Add actionable 404 recovery",
      "priority": 7,
      "findingIds": [
        "F-011"
      ],
      "guidanceId": "persistent-toast-notifications",
      "status": "open"
    },
    {
      "id": "T-008",
      "title": "Add reduced-motion-aware route transitions",
      "priority": 8,
      "findingIds": [
        "F-012"
      ],
      "guidanceId": "same-document-transitions",
      "status": "open"
    },
    {
      "id": "T-009",
      "title": "Provide production diagnostic source maps",
      "priority": 9,
      "findingIds": [
        "F-013"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1500,
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-19T09-41-32-902Z"
}
