{
  "url": "https://www.porngangg.com",
  "auditedAt": "2026-07-22T03:52:17.768Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Atomic coverage complete across 59 catalog checks and four representative templates plus a 404 recovery path.",
  "page": {
    "appType": "mpa",
    "framework": "WordPress",
    "notes": "Server-rendered Thai adult-video catalog. Representative paths cover listing, category, search, detail/player and 404 recovery. Login/account/checkout are absent. Playback itself was not started because player accessibility and task reachability were judgeable without consuming media."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "secrets",
    "images",
    "heap-summary",
    "lighthouse",
    "robots/sitemap"
  ],
  "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",
    "custom-button-actions",
    "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/home.png",
      "caption": "Homepage first viewport",
      "condition": "desktop",
      "findingIds": [
        "F003",
        "F016",
        "F026"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "Homepage at narrow viewport",
      "condition": "360x800",
      "findingIds": [
        "F004",
        "F008"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "Homepage under dark preference",
      "condition": "prefers-color-scheme: dark",
      "findingIds": [
        "F001"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-contrast.png",
      "caption": "Homepage under increased contrast preference",
      "condition": "prefers-contrast: more",
      "findingIds": [
        "F002"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail.png",
      "caption": "Representative video detail first viewport",
      "condition": "desktop",
      "findingIds": [
        "F003",
        "F005",
        "F006",
        "F007",
        "F010",
        "F025",
        "F028"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/search-empty.png",
      "caption": "Representative search results",
      "condition": "query: test",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/not-found.png",
      "caption": "404 recovery state",
      "condition": "nonexistent route",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/home-mobile-layout.json",
      "caption": "Mobile layout metrics",
      "condition": "360x800",
      "findingIds": [
        "F004"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "DevTools load trace",
      "condition": "homepage",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "Compact trace timings",
      "condition": "homepage",
      "findingIds": [
        "F011"
      ]
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "Network archive",
      "condition": "homepage",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "Compact network signals",
      "condition": "homepage",
      "findingIds": [
        "F011",
        "F013",
        "F014",
        "F023",
        "F030",
        "F031"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "Lighthouse JSON",
      "condition": "mobile default",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/lighthouse-summary.json",
      "caption": "Compact Lighthouse summary",
      "condition": "mobile default",
      "findingIds": [
        "F002",
        "F009",
        "F011",
        "F012",
        "F013",
        "F014",
        "F015",
        "F016",
        "F017",
        "F018",
        "F020",
        "F029",
        "F030"
      ]
    },
    {
      "type": "other",
      "path": "evidence/images.json",
      "caption": "Image audit",
      "condition": "homepage",
      "findingIds": [
        "F012",
        "F019",
        "F029",
        "F030"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "Security-header audit",
      "condition": "homepage",
      "findingIds": [
        "F022",
        "F024"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "Cookie audit",
      "condition": "homepage",
      "findingIds": [
        "F022"
      ]
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "Third-party/tracker audit",
      "condition": "homepage",
      "findingIds": [
        "F023",
        "F031"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "Client secret scan",
      "condition": "homepage",
      "findingIds": [
        "F024"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/discoverability.json",
      "caption": "Raw HTML versus rendered DOM",
      "condition": "homepage",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-rendered.png",
      "caption": "Browser-rendered discoverability view",
      "condition": "JavaScript enabled",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/discoverability-crawler.png",
      "caption": "Crawler discoverability view",
      "condition": "JavaScript disabled",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/semantic-probe.json",
      "caption": "Semantic and metadata probe",
      "condition": "homepage",
      "findingIds": [
        "F015",
        "F017",
        "F019",
        "F020",
        "F021",
        "F026",
        "F027"
      ]
    },
    {
      "type": "other",
      "path": "evidence/preferences-modern-css.json",
      "caption": "Preference and modern CSS probe",
      "condition": "dark + reduced motion",
      "findingIds": [
        "F001",
        "F003",
        "F008"
      ]
    },
    {
      "type": "other",
      "path": "evidence/resources-css.json",
      "caption": "Resource placement and CSS probe",
      "condition": "homepage",
      "findingIds": [
        "F013"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-overlay-probe.json",
      "caption": "Fixed overlay and advertising geometry",
      "condition": "detail",
      "findingIds": [
        "F005",
        "F006",
        "F010",
        "F025",
        "F028"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-probe.json",
      "caption": "Detail media, metadata and text probe",
      "condition": "detail",
      "findingIds": [
        "F018",
        "F027"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.heapsnapshot",
      "caption": "Baseline heap snapshot",
      "condition": "homepage baseline",
      "findingIds": []
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-valid.heapsnapshot",
      "caption": "Heap after 10 repeated scroll/focus cycles",
      "condition": "homepage post-interaction",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/listener-timer-probe.json",
      "caption": "Listener/timer accumulation probe",
      "condition": "10 cycles",
      "findingIds": [
        "F009"
      ]
    },
    {
      "type": "other",
      "path": "evidence/sitemap.json",
      "caption": "Sitemap endpoint response",
      "condition": "/sitemap.xml",
      "findingIds": [
        "F021"
      ]
    }
  ],
  "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": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The dark-emulation screenshot is pixel-identical to the default capture; the probe reports color-scheme: normal and body background rgb(248,250,252).",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-modern-css.json"
      ],
      "findingIds": [
        "F001"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "CSS probe found multiple @media not (prefers-reduced-motion) guards and a reduced-motion parallax fallback; getAnimations() returned none under reduce.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-modern-css.json"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The prefers-contrast: more screenshot is unchanged, while Lighthouse measures text contrast as low as 2.22:1.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "issues",
      "confidence": "medium",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "DOM/CSS inspection found no view-transition-name or View Transition API use across listing, category, search, and detail templates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-modern-css.json",
        "evidence/home.png",
        "evidence/detail.png"
      ],
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "No scroll-linked animation or parallax exists on the representative templates, so there is no such interaction to implement.",
      "reason": "No scroll-linked animation or parallax exists on the representative templates, so there is no such interaction to implement.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "No gesture-driven carousel, swipe, pull-to-refresh or custom pointer interaction exists.",
      "reason": "No gesture-driven carousel, swipe, pull-to-refresh or custom pointer interaction exists.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "issues",
      "confidence": "medium",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The mobile page is 7,697px tall, but CSS inspection found no scroll-state query or progress indicator and the header does not adapt while scrolling.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "No tooltip, popover or anchored menu was present on the representative paths.",
      "reason": "No tooltip, popover or anchored menu was present on the representative paths.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Detail DOM provides a visible breadcrumb from home to category to item and persistent labelled category navigation.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/detail.png"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The detail screenshot shows a full-width 780x390 gambling ad before the player plus three fixed ads at z-index 9999, including a bottom overlay over content.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail.png",
        "evidence/detail-overlay-probe.json"
      ],
      "findingIds": [
        "F005"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The detail probe identifies #rdads-slider-l/r/f as fixed DIV elements at z-index 9999; no dialog or popover elements exist.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-overlay-probe.json",
        "evidence/detail.png"
      ],
      "findingIds": [
        "F006"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "At 780x493 the detail screenshot is almost entirely header, navigation and gambling creative; the requested video content is not visible.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail.png"
      ],
      "findingIds": [
        "F007"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "At 360x800 layout reports scrollWidth=clientWidth=360, horizontalOverflowPx=0, with a viewport meta tag.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "CSS inspection across reused card/chip templates found no @container or container-type rules.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/preferences-modern-css.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F008"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The focus probe found outline none 0px and no box shadow on navigation links and card links; only the search button had a visible 3px outline color.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/listener-timer-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F009"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Homepage and search screenshots clearly expose catalog categories, search, listings and direct title links.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/search-empty.png"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The representative detail path lands on a large gambling ad and fixed overlays; the player is below the visible region.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail.png",
        "evidence/detail-overlay-probe.json"
      ],
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Search results label the query and count; the tested 404 explains the failure and offers search/home recovery.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/search-empty.png",
        "evidence/not-found.png"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Mobile Lighthouse reports LCP 4.5s and FCP 3.0s; the independent trace reports LCP 2.0s, showing material variability under test conditions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F011"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The image primitive reports all 62 images without width/height; Lighthouse reports CLS 0.084 and flags unsized images.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F012"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Trace records two long tasks, 105ms TBT; Lighthouse reports only 19.5ms TBT, acceptable for the tested load.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-trace-summary.json",
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "HAR/DOM confirmation shows nine parser-inserted stylesheets plus synchronous head scripts; Lighthouse estimates 2,110ms render-blocking savings and 1,039KiB cache savings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resources-css.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F013"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Lighthouse finds about 385KiB unused JavaScript, including 88-91% waste in video.min.js and hls.js, plus 42KiB unused CSS; the homepage has no video element.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F014"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The semantic probe counts 65 blank-text links; Lighthouse link-name fails on full-card overlay anchors with no text or aria-label.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F015"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Lighthouse reports 2.22:1 for the primary heading prefix and 2.64-4.09:1 for highlighted labels against pale surfaces.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home.png"
      ],
      "findingIds": [
        "F016"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Most focused links compute to outline none; the homepage emits two H1 elements and 65 unnamed overlay links in the tab order.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F017"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Desktop/mobile screenshots show readable Thai text with responsive wrapping and no horizontal clipping.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home.png",
        "evidence/home-mobile.png"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The detail probe finds two video elements with zero track elements; Lighthouse target-size fails a 412x1 hit-counter link.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F018"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Lighthouse best-practices score is 1.0 and reports no console-error audit failure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The page has HTML5 doctype and UTF-8, but all 62 images omit dimensions and Lighthouse flags unsized assets.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F019"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Lighthouse best-practices score is 1.0; no load-time permission prompt or paste-blocking form behavior was observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/resources-css.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Semantic probe confirms a descriptive title and non-empty meta description on the homepage; detail has a unique title/description.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "All links use real hrefs and robots allows indexing, but 65 anchors have no text or labelled image, confirmed by Lighthouse link-name failure.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F020"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "robots.txt allows search crawling, canonical is present, but /sitemap.xml returns an nginx 404.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/sitemap.json"
      ],
      "findingIds": [
        "F021"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Homepage has JSON-LD and Open Graph title, description, URL and image; detail probe confirms JSON-LD.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The headers primitive reports no CSP, HSTS, X-Content-Type-Options, clickjacking policy, Referrer-Policy or Permissions-Policy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F022"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Trackers finds five third-party origins; HAR records 12 third-party requests and 555,607 transferred bytes, including 425,720 bytes from rfr.darkadv.com and a Histats pixel.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "findingIds": [
        "F023"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "The public catalog exposes no authentication flow and triggered no permission prompt.",
      "reason": "The public catalog exposes no authentication flow and triggered no permission prompt.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The header audit found no HSTS, frame protection, Referrer-Policy, Permissions-Policy or CSP; no cookies or exposed secrets were observed.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/secrets.json"
      ],
      "findingIds": [
        "F024"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Discoverability reports HTTP 200, 100% raw/rendered content coverage, title/H1/description in raw HTML, and no JS shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/discoverability.json",
        "evidence/discoverability-rendered.png",
        "evidence/discoverability-crawler.png"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Three fixed custom ad elements use z-index 9999 and overlap the detail viewport; the bottom overlay spans 320px across the content area.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-overlay-probe.json",
        "evidence/detail.png"
      ],
      "findingIds": [
        "F025"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "This is a public media catalog rather than an app-like workflow; installability/offline media playback is not required.",
      "reason": "This is a public media catalog rather than an app-like workflow; installability/offline media playback is not required.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "A nonexistent route renders an explanatory 404 with search and home recovery instead of a blank shell.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/not-found.png"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The semantic probe reports html lang=\"en-GB\" while the navigation, headings and descriptions are predominantly Thai.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/home.png"
      ],
      "findingIds": [
        "F026"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Visible cards and detail metadata use strings such as “1 min ago”, “1 mins ago”, “14 hours ago” and “Added by” within otherwise Thai pages.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/semantic-probe.json"
      ],
      "findingIds": [
        "F027"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Representative content uses relative elapsed strings or date-only publication dates; no scheduled time-of-day or cross-zone event is presented.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/detail-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The detail path opens on a large gambling creative with click-through plus fixed ad panels before the requested player; the small close control overlays the creative.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail.png",
        "evidence/detail-overlay-probe.json"
      ],
      "findingIds": [
        "F028"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "The only form is GET search with no validation or required user data.",
      "reason": "The only form is GET search with no validation or required user data.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "The only input is a labelled search field; it does not collect identity, address, payment or credential data requiring autofill tokens.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/semantic-probe.json"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "No checkout, subscription, consent, authentication or account-management flow is exposed.",
      "reason": "No checkout, subscription, consent, authentication or account-management flow is exposed.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "The image primitive reports 61 images without srcset, 61 below-fold images without lazy loading, five oversized images and four legacy-format images; Lighthouse estimates 708KiB image savings.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "findingIds": [
        "F029"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "HAR loads 92 requests/2.1MB; Lighthouse finds 385KiB unused JavaScript and the image audit finds 61 below-fold images without loading=lazy.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json",
        "evidence/images.json"
      ],
      "findingIds": [
        "F030"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Targeted screenshot/DOM/CDP probe and corroborating audit evidence as cited.",
      "evidence": "Images account for 1.35MB and third parties 556KB on a listing with no active video; ad-player scripts are among the largest transfers.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F031"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "robots.txt explicitly disallows major AI agents and reserves AI use, showing no intent to expose agent capabilities.",
      "reason": "robots.txt explicitly disallows major AI agents and reserves AI use, showing no intent to expose agent capabilities.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Recon and representative-path DOM/interaction review.",
      "evidence": "The catalog has no user task that requires or clearly benefits from on-device inference.",
      "reason": "The catalog has no user task that requires or clearly benefits from on-device inference.",
      "pathIds": [
        "home"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "After 10 repeated scroll/focus cycles, heap grew only 47,757 bytes (0.29%) and 1,069 nodes (0.42%) versus baseline, consistent with bounded warm-up rather than unbounded growth.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post-valid.heapsnapshot",
        "evidence/listener-timer-probe.json"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "Baseline heap was 16.55MB/252,465 nodes and post-interaction heap 16.60MB/253,534 nodes for a 1,021-element media listing, a proportionate stable footprint.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/heap-baseline.heapsnapshot",
        "evidence/heap-post-valid.heapsnapshot"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "high",
      "method": "Direct representative-path evidence review using the cited artifact(s).",
      "evidence": "An instrumented 10-cycle scroll/focus probe observed zero new listeners and zero intervals; DOM stayed at 1,021 elements and heap/node growth stayed below 0.5%.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/listener-timer-probe.json",
        "evidence/heap-post-valid.heapsnapshot"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F001",
        "F002"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F003"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F004"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F005",
        "F006",
        "F007"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F008",
        "F009"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F010"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "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"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F020",
        "F021"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F022",
        "F023",
        "F024"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F025"
      ]
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F026",
        "F027"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F028"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F029",
        "F030",
        "F031"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "robots.txt explicitly disallows major AI agents and reserves AI use, showing no intent to expose agent capabilities. The catalog has no user task that requires or clearly benefits from on-device inference."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "pass"
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage listing and navigation, representing the primary catalog template.",
      "url": "https://www.porngangg.com/",
      "conditions": [
        "desktop",
        "360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "prefers-contrast: more",
        "keyboard focus"
      ],
      "result": "issues"
    },
    {
      "id": "category",
      "description": "Japanese category listing, representing taxonomy/archive pages.",
      "url": "https://www.porngangg.com/?cat=6",
      "conditions": [
        "desktop"
      ],
      "result": "issues"
    },
    {
      "id": "search",
      "description": "Search results for “test”, representing query/result state.",
      "url": "https://www.porngangg.com/?s=test",
      "conditions": [
        "desktop"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative video detail and player path, the primary consumption journey.",
      "url": "https://www.porngangg.com/?p=37281",
      "conditions": [
        "desktop",
        "overlay geometry",
        "media semantics"
      ],
      "result": "issues"
    },
    {
      "id": "not-found",
      "description": "Nonexistent route, representing HTTP failure/recovery.",
      "url": "https://www.porngangg.com/this-route-does-not-exist-audit",
      "conditions": [
        "desktop"
      ],
      "result": "pass"
    }
  ],
  "findings": [
    {
      "id": "F001",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-color-scheme",
      "guidanceId": "dark-mode",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The site is fixed to a light theme.",
      "evidence": "The dark-emulation screenshot is pixel-identical to the default capture; the probe reports color-scheme: normal and body background rgb(248,250,252).",
      "suggestedFix": "Declare color-scheme: light dark and provide preference-driven dark surface, text, border, and media treatments.",
      "artifacts": [
        "evidence/home-dark.png",
        "evidence/preferences-modern-css.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F002",
      "severity": "medium",
      "principleId": "respect-user-preferences",
      "principleCheckId": "respects-contrast",
      "guidanceId": "adapt-scrollbar-to-contrast-preferences",
      "guidanceCategory": "modern-web-guidance",
      "summary": "High-contrast preference does not change the presentation.",
      "evidence": "The prefers-contrast: more screenshot is unchanged, while Lighthouse measures text contrast as low as 2.22:1.",
      "suggestedFix": "Add prefers-contrast and forced-colors treatments that preserve visible text, controls, focus, and scroll affordances.",
      "artifacts": [
        "evidence/home-contrast.png",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F003",
      "severity": "low",
      "principleId": "implement-natural-interactions",
      "principleCheckId": "view-transitions",
      "guidanceId": "same-document-transitions",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Navigation swaps pages abruptly.",
      "evidence": "DOM/CSS inspection found no view-transition-name or View Transition API use across listing, category, search, and detail templates.",
      "suggestedFix": "Use cross-document View Transitions for same-origin navigations, with reduced-motion-safe fallbacks.",
      "artifacts": [
        "evidence/preferences-modern-css.json",
        "evidence/home.png",
        "evidence/detail.png"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "medium"
    },
    {
      "id": "F004",
      "severity": "low",
      "principleId": "provide-guided-navigation",
      "principleCheckId": "scroll-state-aware-chrome",
      "guidanceId": "scroll-position-aware-elements",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The long listing has no scroll-position feedback.",
      "evidence": "The mobile page is 7,697px tall, but CSS inspection found no scroll-state query or progress indicator and the header does not adapt while scrolling.",
      "suggestedFix": "Add a lightweight scroll progress or scroll-state-aware header treatment without obscuring content.",
      "artifacts": [
        "evidence/home-mobile-layout.json",
        "evidence/home-mobile.png"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "medium"
    },
    {
      "id": "F005",
      "severity": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "light-dismiss-a-dialog",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Advertising dominates and obscures the primary detail content.",
      "evidence": "The detail screenshot shows a full-width 780x390 gambling ad before the player plus three fixed ads at z-index 9999, including a bottom overlay over content.",
      "suggestedFix": "Remove load-time/fixed overlays from the primary flow; reserve bounded ad slots outside the player and make any transient ad clearly dismissible.",
      "artifacts": [
        "evidence/detail.png",
        "evidence/detail-overlay-probe.json"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F006",
      "severity": "medium",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Ad overlays use custom fixed divs instead of semantic dismissible UI.",
      "evidence": "The detail probe identifies #rdads-slider-l/r/f as fixed DIV elements at z-index 9999; no dialog or popover elements exist.",
      "suggestedFix": "Use semantic popover/dialog primitives with accessible labels, focus handling, Escape and light-dismiss behavior where overlays are unavoidable.",
      "artifacts": [
        "evidence/detail-overlay-probe.json",
        "evidence/detail.png"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F007",
      "severity": "high",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "reduced-chrome",
      "guidanceId": "improve-text-layout-and-legibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Non-content chrome overwhelms the detail page.",
      "evidence": "At 780x493 the detail screenshot is almost entirely header, navigation and gambling creative; the requested video content is not visible.",
      "suggestedFix": "Reduce header/ad chrome and place the player and title in the initial content region.",
      "artifacts": [
        "evidence/detail.png"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F008",
      "severity": "medium",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Reusable cards and chips rely on viewport rules rather than container responsiveness.",
      "evidence": "CSS inspection across reused card/chip templates found no @container or container-type rules.",
      "suggestedFix": "Give reusable listing and metadata components containment and use size container queries where their layout changes.",
      "artifacts": [
        "evidence/preferences-modern-css.json",
        "evidence/home-mobile.png"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "medium"
    },
    {
      "id": "F009",
      "severity": "high",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "input-modality-aware",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Keyboard focus is not visible on most links.",
      "evidence": "The focus probe found outline none 0px and no box shadow on navigation links and card links; only the search button had a visible 3px outline color.",
      "suggestedFix": "Add a consistent high-contrast :focus-visible ring and retain it for all links, buttons, cards and player controls.",
      "artifacts": [
        "evidence/listener-timer-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F010",
      "severity": "high",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "primary user journey task completion",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Opening a video does not lead directly to the player.",
      "evidence": "The representative detail path lands on a large gambling ad and fixed overlays; the player is below the visible region.",
      "suggestedFix": "Make the selected title/player the first primary content and keep advertising outside the task path.",
      "artifacts": [
        "evidence/detail.png",
        "evidence/detail-overlay-probe.json"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F011",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Largest Contentful Paint is slow.",
      "evidence": "Mobile Lighthouse reports LCP 4.5s and FCP 3.0s; the independent trace reports LCP 2.0s, showing material variability under test conditions.",
      "suggestedFix": "Prioritise the actual LCP asset, remove render-blocking dependencies, and lazy-load below-fold media.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F012",
      "severity": "medium",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "optimize-image-priority",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Images lack intrinsic dimensions.",
      "evidence": "The image primitive reports all 62 images without width/height; Lighthouse reports CLS 0.084 and flags unsized images.",
      "suggestedFix": "Emit width and height or aspect-ratio for every image and reserve stable card/media slots.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F013",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-preload-priority",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The critical path contains many blocking resources and weak caching.",
      "evidence": "HAR/DOM confirmation shows nine parser-inserted stylesheets plus synchronous head scripts; Lighthouse estimates 2,110ms render-blocking savings and 1,039KiB cache savings.",
      "suggestedFix": "Compile Tailwind at build time, remove unused player CSS from listings, defer noncritical scripts, self-host/subset fonts, and set durable immutable caching for versioned assets.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/resources-css.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "large",
      "confidence": "high"
    },
    {
      "id": "F014",
      "severity": "high",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "identify-heavy-scripts",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The homepage ships video-player code it does not use.",
      "evidence": "Lighthouse finds about 385KiB unused JavaScript, including 88-91% waste in video.min.js and hls.js, plus 42KiB unused CSS; the homepage has no video element.",
      "suggestedFix": "Conditionally load player/HLS/P2P dependencies only on detail pages and remove duplicate/unused WordPress and theme CSS.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F015",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Many card links have no accessible name.",
      "evidence": "The semantic probe counts 65 blank-text links; Lighthouse link-name fails on full-card overlay anchors with no text or aria-label.",
      "suggestedFix": "Give each card one descriptive linked heading or label overlay links with aria-labelledby.",
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F016",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Important text fails WCAG contrast.",
      "evidence": "Lighthouse reports 2.22:1 for the primary heading prefix and 2.64-4.09:1 for highlighted labels against pale surfaces.",
      "suggestedFix": "Use darker text/link tokens that meet 4.5:1 for normal text and test every state.",
      "artifacts": [
        "evidence/lighthouse-summary.json",
        "evidence/home.png"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F017",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Focus visibility and heading structure are inconsistent.",
      "evidence": "Most focused links compute to outline none; the homepage emits two H1 elements and 65 unnamed overlay links in the tab order.",
      "suggestedFix": "Use one page H1, structured section headings, and visible :focus-visible styling; remove redundant tab stops.",
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F018",
      "severity": "high",
      "principleId": "be-inclusive",
      "principleCheckId": "zoom-reflow-targets-and-media",
      "guidanceId": "accessibility",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Media lacks captions and at least one target is effectively unusable.",
      "evidence": "The detail probe finds two video elements with zero track elements; Lighthouse target-size fails a 412x1 hit-counter link.",
      "suggestedFix": "Provide caption/subtitle tracks or an equivalent transcript, remove the 1px interactive tracker link, and keep targets at least 24x24 CSS px.",
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F019",
      "severity": "medium",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Asset markup is unsound despite a valid document shell.",
      "evidence": "The page has HTML5 doctype and UTF-8, but all 62 images omit dimensions and Lighthouse flags unsized assets.",
      "suggestedFix": "Add intrinsic image dimensions and preserve aspect ratio in responsive CSS.",
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/images.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F020",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "crawlable-and-mobile-friendly",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Many crawlable links have no descriptive link text.",
      "evidence": "All links use real hrefs and robots allows indexing, but 65 anchors have no text or labelled image, confirmed by Lighthouse link-name failure.",
      "suggestedFix": "Consolidate card links around descriptive titles or provide equivalent accessible names.",
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F021",
      "severity": "medium",
      "principleId": "be-discoverable",
      "principleCheckId": "canonical-and-indexing-signals",
      "guidanceId": "html",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The public index has no working sitemap.",
      "evidence": "robots.txt allows search crawling, canonical is present, but /sitemap.xml returns an nginx 404.",
      "suggestedFix": "Publish a valid XML sitemap and reference it from robots.txt; keep canonical and indexing policies consistent.",
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/sitemap.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F022",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The HTTPS page omits core security headers.",
      "evidence": "The headers primitive reports no CSP, HSTS, X-Content-Type-Options, clickjacking policy, Referrer-Policy or Permissions-Policy.",
      "suggestedFix": "Deploy a restrictive CSP, HSTS, nosniff, frame-ancestors, Referrer-Policy and a minimal Permissions-Policy.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F023",
      "severity": "medium",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The page sends substantial data to advertising/analytics third parties.",
      "evidence": "Trackers finds five third-party origins; HAR records 12 third-party requests and 555,607 transferred bytes, including 425,720 bytes from rfr.darkadv.com and a Histats pixel.",
      "suggestedFix": "Remove nonessential tracking and advertising dependencies, document the remaining purposes, and load them only with appropriate user choice.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F024",
      "severity": "high",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Browser-enforced defensive policies are absent.",
      "evidence": "The header audit found no HSTS, frame protection, Referrer-Policy, Permissions-Policy or CSP; no cookies or exposed secrets were observed.",
      "suggestedFix": "Set HSTS, frame-ancestors, strict-origin-when-cross-origin or stricter referrer policy, and a least-privilege Permissions-Policy.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/secrets.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F025",
      "severity": "high",
      "principleId": "be-resilient",
      "principleCheckId": "resilient-runtime-behaviour",
      "guidanceId": "resilient-context-menus-and-nested-dropdowns",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Fixed overlays cover the viewport rather than adapting safely.",
      "evidence": "Three fixed custom ad elements use z-index 9999 and overlap the detail viewport; the bottom overlay spans 320px across the content area.",
      "suggestedFix": "Keep transient UI inside safe viewport bounds, reserve space, and avoid fixed overlays over primary content.",
      "artifacts": [
        "evidence/detail-overlay-probe.json",
        "evidence/detail.png"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F026",
      "severity": "medium",
      "principleId": "be-internationalised",
      "principleCheckId": "lang-dir-and-logical-properties",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The document language conflicts with the visible content.",
      "evidence": "The semantic probe reports html lang=\"en-GB\" while the navigation, headings and descriptions are predominantly Thai.",
      "suggestedFix": "Set lang=\"th\" on Thai pages and mark genuine English fragments with lang=\"en\"; use logical CSS properties.",
      "artifacts": [
        "evidence/semantic-probe.json",
        "evidence/home.png"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F027",
      "severity": "low",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "translator",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Date/status strings mix English into a Thai interface.",
      "evidence": "Visible cards and detail metadata use strings such as “1 min ago”, “1 mins ago”, “14 hours ago” and “Added by” within otherwise Thai pages.",
      "suggestedFix": "Format relative dates and metadata through an explicit Thai locale, with translation-ready message templates.",
      "artifacts": [
        "evidence/detail-probe.json",
        "evidence/semantic-probe.json"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "small",
      "confidence": "high"
    },
    {
      "id": "F028",
      "severity": "high",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "custom-button-actions",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Advertising placement makes the destination and primary action hard to distinguish.",
      "evidence": "The detail path opens on a large gambling creative with click-through plus fixed ad panels before the requested player; the small close control overlays the creative.",
      "suggestedFix": "Clearly label advertising, keep it visually separate from player controls, avoid deceptive click surfaces, and make dismissal obvious and persistent.",
      "artifacts": [
        "evidence/detail.png",
        "evidence/detail-overlay-probe.json"
      ],
      "pathId": "detail",
      "url": "https://www.porngangg.com/?p=37281",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F029",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Images are over-delivered and not responsive.",
      "evidence": "The image primitive reports 61 images without srcset, 61 below-fold images without lazy loading, five oversized images and four legacy-format images; Lighthouse estimates 708KiB image savings.",
      "suggestedFix": "Generate responsive AVIF/WebP srcsets, size to rendered slots, compress aggressively, and lazy-load below-fold thumbnails.",
      "artifacts": [
        "evidence/images.json",
        "evidence/lighthouse-summary.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F030",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "deprioritize-background-fetches",
      "guidanceCategory": "modern-web-guidance",
      "summary": "The listing eagerly fetches unused player code and below-fold media.",
      "evidence": "HAR loads 92 requests/2.1MB; Lighthouse finds 385KiB unused JavaScript and the image audit finds 61 below-fold images without loading=lazy.",
      "suggestedFix": "Conditionally load player bundles, lazy-load media, and defer background/noncritical requests until user intent.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/lighthouse-summary.json",
        "evidence/images.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    },
    {
      "id": "F031",
      "severity": "high",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "efficient-background-processing",
      "guidanceCategory": "modern-web-guidance",
      "summary": "Third-party and media cost is disproportionate on the listing.",
      "evidence": "Images account for 1.35MB and third parties 556KB on a listing with no active video; ad-player scripts are among the largest transfers.",
      "suggestedFix": "Set a route-specific byte budget, eliminate player/ad dependencies from listing pages, and cache/defer justified third parties.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "pathId": "home",
      "url": "https://www.porngangg.com/",
      "effort": "medium",
      "confidence": "high"
    }
  ],
  "taskList": [
    {
      "id": "T001",
      "title": "Remove or relocate intrusive detail-page gambling overlays so the selected player is immediately reachable",
      "priority": 1,
      "findingIds": [
        "F005",
        "F006",
        "F007",
        "F010",
        "F025",
        "F028"
      ],
      "guidanceId": "light-dismiss-a-dialog",
      "status": "open"
    },
    {
      "id": "T002",
      "title": "Conditionally load player/ad dependencies and lazy-load responsive thumbnails",
      "priority": 2,
      "findingIds": [
        "F011",
        "F013",
        "F014",
        "F029",
        "F030",
        "F031"
      ],
      "guidanceId": "identify-heavy-scripts",
      "status": "open"
    },
    {
      "id": "T003",
      "title": "Restore accessible names, focus rings, contrast and caption equivalents",
      "priority": 3,
      "findingIds": [
        "F002",
        "F009",
        "F015",
        "F016",
        "F017",
        "F018",
        "F020"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T004",
      "title": "Deploy a complete browser security-header policy and reduce third-party collection",
      "priority": 4,
      "findingIds": [
        "F022",
        "F023",
        "F024"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T005",
      "title": "Add intrinsic image sizing and compile/defer critical resources",
      "priority": 5,
      "findingIds": [
        "F012",
        "F013",
        "F019",
        "F029"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T006",
      "title": "Set Thai language and locale-aware interface strings",
      "priority": 6,
      "findingIds": [
        "F026",
        "F027"
      ],
      "guidanceId": "translator",
      "status": "open"
    },
    {
      "id": "T007",
      "title": "Add preference-driven dark/high-contrast themes and modern responsive/transition enhancements",
      "priority": 7,
      "findingIds": [
        "F001",
        "F003",
        "F004",
        "F008"
      ],
      "guidanceId": "dark-mode",
      "status": "open"
    },
    {
      "id": "T008",
      "title": "Publish a valid sitemap and descriptive linked-card markup",
      "priority": 8,
      "findingIds": [
        "F020",
        "F021"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "wallClockSeconds": 1800,
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-22T03-52-17-768Z"
}
