{
  "url": "https://www.publi24.ro",
  "auditedAt": "2026-07-21T18:53:21.863Z",
  "mode": "report",
  "status": "completed",
  "statusDetail": "Coverage complete across five representative marketplace surfaces. The protected posting/login path was inspected before rate limiting; the observed 429 recovery state is recorded as an issue rather than omitted.",
  "page": {
    "appType": "mpa",
    "framework": "server-rendered multi-page application (framework not exposed)",
    "notes": "Romanian classifieds marketplace with server-rendered home, listings and advert details, plus authenticated posting/account journeys. Not covered: authenticated seller dashboard, destructive account actions, payment/checkout, messaging after sign-in, or every category because they require credentials or duplicate audited templates."
  },
  "evidenceUsed": [
    "screenshot",
    "dom",
    "evaluate-probe",
    "layout-metrics",
    "trace",
    "har",
    "discoverability",
    "headers",
    "cookies",
    "trackers",
    "images",
    "secrets",
    "heap-summary",
    "lighthouse/axe",
    "robots/sitemap fetch attempt",
    "Modern Web Guidance search/retrieve"
  ],
  "guidanceConsulted": [
    "dark-mode",
    "accessibility",
    "adapt-scrollbar-to-contrast-preferences",
    "same-document-transitions",
    "scroll-entry-exit-effects",
    "navigation-drawer",
    "position-aware-tooltips",
    "declarative-dialog-popover-control",
    "css-layout",
    "size-aware-styling",
    "fluid-scaling",
    "forms",
    "accessible-error-announcement",
    "performance",
    "optimize-image-priority",
    "optimize-script-priority",
    "defer-rendering-heavy-content",
    "html",
    "security",
    "privacy",
    "stabilize-reactive-state",
    "coordinate-global-events",
    "validate-input-after-interaction",
    "autofill-sign-in-form",
    "deliver-optimized-decorative-images",
    "efficient-background-processing",
    "webmcp",
    "language-model",
    "manage-recurring-intervals",
    "passkey-authentication",
    "deprioritize-background-fetches"
  ],
  "artifacts": [
    {
      "type": "dom",
      "path": "evidence/consent-dom.json",
      "caption": "consent dom",
      "findingIds": [
        "F02"
      ]
    },
    {
      "type": "other",
      "path": "evidence/cookies.json",
      "caption": "cookies",
      "findingIds": [
        "F15"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-consented.png",
      "caption": "detail consented",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-desktop.png",
      "caption": "detail desktop",
      "findingIds": [
        "F19"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-discoverability-crawler.png",
      "caption": "detail discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/detail-discoverability-rendered.png",
      "caption": "detail discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/detail-discoverability.json",
      "caption": "detail discoverability",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/detail-functional-probe.json",
      "caption": "detail functional probe",
      "findingIds": [
        "F12",
        "F19",
        "F20",
        "F22",
        "F23"
      ]
    },
    {
      "type": "other",
      "path": "evidence/detail-images.json",
      "caption": "detail images",
      "findingIds": [
        "F08",
        "F14",
        "F25"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/detail-link-recon.json",
      "caption": "detail link recon",
      "findingIds": []
    },
    {
      "type": "har-summary",
      "path": "evidence/detail-summary.json",
      "caption": "detail summary",
      "findingIds": [
        "F09",
        "F10",
        "F27"
      ]
    },
    {
      "type": "har",
      "path": "evidence/detail.har",
      "caption": "detail.har",
      "findingIds": [
        "F09",
        "F27"
      ]
    },
    {
      "type": "other",
      "path": "evidence/headers.json",
      "caption": "headers",
      "findingIds": [
        "F15",
        "F18"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-baseline.json",
      "caption": "heap baseline",
      "findingIds": [
        "F28",
        "F29"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-scroll-valid.json",
      "caption": "heap post scroll valid",
      "findingIds": [
        "F28"
      ]
    },
    {
      "type": "heap",
      "path": "evidence/heap-post-scroll.json",
      "caption": "heap post scroll",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-dark.png",
      "caption": "home dark",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-desktop.png",
      "caption": "home desktop",
      "findingIds": [
        "F01",
        "F16",
        "F21"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-crawler.png",
      "caption": "home discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-discoverability-rendered.png",
      "caption": "home discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/home-discoverability.json",
      "caption": "home discoverability",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/home-dom.json",
      "caption": "home dom",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-high-contrast.png",
      "caption": "home high contrast",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/home-images.json",
      "caption": "home images",
      "findingIds": [
        "F08",
        "F25"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/home-layout-mobile.json",
      "caption": "home layout mobile",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile-consented.png",
      "caption": "home mobile consented",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/home-mobile.png",
      "caption": "home mobile",
      "findingIds": [
        "F01",
        "F02",
        "F21"
      ]
    },
    {
      "type": "har-summary",
      "path": "evidence/home-summary.json",
      "caption": "home summary",
      "findingIds": [
        "F09",
        "F10",
        "F16",
        "F26"
      ]
    },
    {
      "type": "trace-summary",
      "path": "evidence/home-trace-summary.json",
      "caption": "home trace summary",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/home-trace.json",
      "caption": "home trace",
      "findingIds": []
    },
    {
      "type": "har",
      "path": "evidence/home.har",
      "caption": "home.har",
      "findingIds": [
        "F09"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home-summary.json",
      "caption": "lighthouse home summary",
      "findingIds": [
        "F03",
        "F07",
        "F08",
        "F11",
        "F13"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-home.json",
      "caption": "lighthouse home",
      "findingIds": []
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-listing-summary.json",
      "caption": "lighthouse listing summary",
      "findingIds": [
        "F03",
        "F07",
        "F11",
        "F13"
      ]
    },
    {
      "type": "lighthouse",
      "path": "evidence/lighthouse-listing.json",
      "caption": "lighthouse listing",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-consented.png",
      "caption": "listing consented",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-desktop.png",
      "caption": "listing desktop",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-discoverability-crawler.png",
      "caption": "listing discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-discoverability-rendered.png",
      "caption": "listing discoverability rendered",
      "findingIds": []
    },
    {
      "type": "discoverability",
      "path": "evidence/listing-discoverability.json",
      "caption": "listing discoverability",
      "findingIds": []
    },
    {
      "type": "layout",
      "path": "evidence/listing-layout-mobile.json",
      "caption": "listing layout mobile",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/listing-mobile.png",
      "caption": "listing mobile",
      "findingIds": [
        "F04"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/listing-recon.json",
      "caption": "listing recon",
      "findingIds": []
    },
    {
      "type": "trace-summary",
      "path": "evidence/listing-trace-summary.json",
      "caption": "listing trace summary",
      "findingIds": [
        "F07"
      ]
    },
    {
      "type": "trace",
      "path": "evidence/listing-trace.json",
      "caption": "listing trace",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/login-consented.png",
      "caption": "login consented",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/login-form-probe.json",
      "caption": "login form probe",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/login-mobile.png",
      "caption": "login mobile",
      "findingIds": [
        "F17",
        "F24"
      ]
    },
    {
      "type": "screenshot",
      "path": "evidence/post-ad-consented.png",
      "caption": "post ad consented",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/post-ad-discoverability-crawler.png",
      "caption": "post ad discoverability crawler",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/post-ad-discoverability-rendered.png",
      "caption": "post ad discoverability rendered",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "discoverability",
      "path": "evidence/post-ad-discoverability.json",
      "caption": "post ad discoverability",
      "findingIds": [
        "F06"
      ]
    },
    {
      "type": "layout",
      "path": "evidence/post-ad-layout-mobile.json",
      "caption": "post ad layout mobile",
      "findingIds": []
    },
    {
      "type": "screenshot",
      "path": "evidence/post-ad-mobile.png",
      "caption": "post ad mobile",
      "findingIds": [
        "F05",
        "F24"
      ]
    },
    {
      "type": "dom",
      "path": "evidence/preferences-semantics.json",
      "caption": "preferences semantics",
      "findingIds": []
    },
    {
      "type": "dom",
      "path": "evidence/recon.json",
      "caption": "recon",
      "findingIds": [
        "F11"
      ]
    },
    {
      "type": "other",
      "path": "evidence/secrets.json",
      "caption": "secrets",
      "findingIds": []
    },
    {
      "type": "other",
      "path": "evidence/trackers.json",
      "caption": "trackers",
      "findingIds": [
        "F16",
        "F26"
      ]
    }
  ],
  "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": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Dark-condition screenshot and loaded dark-theme stylesheet show an adapted dark surface; a theme control is visible in the header.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-reduced-motion",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Under prefers-reduced-motion: reduce, getAnimations() returned no active animations on the entry page.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "respect-user-preferences",
      "checkId": "respects-contrast",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Representative screenshots, DOM/evaluate probes and objective artifacts showed the expected outcome across the audited templates; no contradictory state was observed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "view-transitions",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Computed style probing found a non-none view-transition-name in the rendered page.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "scroll-driven-animations",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "CSS/animation probing found no scroll-linked animation requiring a main-thread scroll handler on the representative pages.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "implement-natural-interactions",
      "checkId": "physical-gestures",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Mobile screenshots and layout probes show native vertical scrolling with no custom gesture surface fighting platform behavior.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "scroll-state-aware-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "The long listing keeps navigation/filter state legible and provides persistent mobile task actions without obstructing content.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "anchored-positioning",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative-surface DOM and interaction recon.",
      "evidence": "No tooltip, tethered popover or viewport-edge anchored menu was present on the representative public surfaces.",
      "reason": "No tooltip, tethered popover or viewport-edge anchored menu was present on the representative public surfaces."
    },
    {
      "principleId": "provide-guided-navigation",
      "checkId": "directs-attention",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Listing breadcrumbs, active-filter chips and selected category state visibly orient users after navigation.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "no-intrusive-interruptions",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Desktop and mobile screenshots show a full-width/full-height dimming consent wall before content can be used. The first layer offers “SUNT DE ACORD” and “MAI MULTE OPȚIUNI”, but no equally direct reject action, and names 1,725 partners.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F01"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "semantic-dismissible-primitives",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The DOM probe found #qc-cmp2-ui with role=\"dialog\", but zero <dialog>, popover or details elements. The overlay occupies the top layer and manages dismissal manually.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/consent-dom.json",
        "evidence/home-mobile.png"
      ],
      "findingIds": [
        "F02"
      ]
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "checkId": "reduced-chrome",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Screenshots show content-led category/card/detail layouts outside the consent interruption, with restrained borders and clear hierarchy.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "responsive-no-horizontal-scroll",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "360x800 layout probes on home, listing and post-ad reported 0 px horizontal overflow and a viewport meta tag.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "component-level-responsiveness",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "A live CSS probe found no container-query rules, while the same dense listing/filter/card components are used across desktop and mobile widths. Viewport reflow itself had no horizontal overflow.",
      "pathIds": [
        "listing"
      ],
      "artifacts": [
        "evidence/listing-mobile.png",
        "evidence/listing-desktop.png"
      ],
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "checkId": "input-modality-aware",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Lighthouse target-size audit passed and visible mobile primary actions are 42–48 px high; native links/buttons remain keyboard-focusable.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-purpose-and-primary-action",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "First views clearly expose search/browse categories and a prominent “Adaugă anunț” seller action.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "primary-flow-completion",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The unauthenticated /adauga-anunturi journey redirects to authentication before any advert draft can be started; the screenshot reads “Autentifică-te pentru a putea posta”. This is an avoidable blocker in the marketplace’s primary seller flow.",
      "pathIds": [
        "post-ad"
      ],
      "artifacts": [
        "evidence/post-ad-mobile.png"
      ],
      "findingIds": [
        "F05"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "checkId": "clear-system-state-and-recovery",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "After repeated representative requests, /adauga-anunturi returned HTTP 429 and the browser showed a “Just a moment” verification shell with no explicit retry, back, support or preserved-flow message.",
      "pathIds": [
        "post-ad"
      ],
      "artifacts": [
        "evidence/post-ad-discoverability.json",
        "evidence/post-ad-discoverability-rendered.png"
      ],
      "findingIds": [
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "good-core-web-vitals",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Lighthouse measured mobile LCP at 12.6 s on home and 14.5 s on the category listing (good is ≤2.5 s); trace evidence also measured 3.91 s and 4.93 s in the local trace profile.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/listing-trace-summary.json"
      ],
      "findingIds": [
        "F07"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "visual-stability",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Lighthouse measured homepage CLS at 0.113, outside the good ≤0.1 range; image evidence found two homepage images and eight detail-page images without dimensions.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F08"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-main-thread",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Trace TBT was 1.73 ms home and 27.93 ms listing with only one long task each; Lighthouse TBT remained 180–200 ms.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "efficient-resource-delivery",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "HAR captured 1.79 MB/46 requests on home, including 1.19 MB JavaScript; 34 requests and 1.59 MB were third-party. The detail page transferred 3.38 MB/91 requests. Parser-inserted CSS/scripts were identified as render-blocking candidates.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/detail-summary.json",
        "evidence/home.har",
        "evidence/detail.har"
      ],
      "findingIds": [
        "F09"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "checkId": "trim-unused-and-duplicate-code",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "On home, Google Tag Manager alone transferred about 660 KB and CMP resources about 408 KB before consent; on detail, 75 of 91 requests and 3.13 MB were classified third-party.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/detail-summary.json"
      ],
      "findingIds": [
        "F10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "names-roles-labels",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The detail-page probe found search selects, number/date controls and seller-message text inputs with no associated label or aria-label.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "findingIds": [
        "F12"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "sufficient-contrast",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Lighthouse/axe measured the orange “Adaugă anunț” CTA at 3.42:1 and the green “Salvează căutarea” control at 3.29:1, below 4.5:1 for normal text.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json"
      ],
      "findingIds": [
        "F03"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "structure-and-focus",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The DOM recon found zero H1 elements on home and starts content with H3/H2; Lighthouse flags an invalid jump to footer H4 on both home and listing.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/recon.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json"
      ],
      "findingIds": [
        "F11"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "legible-text",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Desktop/mobile screenshots show readable Romanian body and listing text with no clipping; the contrast exceptions are separately recorded.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-inclusive",
      "checkId": "zoom-reflow-targets-and-media",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Viewport allows normal scaling, 360 px layouts reflow without overflow, and Lighthouse target-size passed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "no-console-errors",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Lighthouse on home and listing captured “Not signed in with the identity provider.” as a browser console error.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json"
      ],
      "findingIds": [
        "F13"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "sound-document-and-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Image inspection found 8 of 9 detail images without width/height, 6 legacy JPEG assets, 2 oversized thumbnails and no responsive srcset on the principal advert image.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F14"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "checkId": "browser-platform-hygiene",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Lighthouse best-practices scored 0.96 and no native permission prompt, paste prevention or deprecated API failure was observed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "title-and-description",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Home, listing and detail expose descriptive titles; raw HTML preserves title/meta description and Lighthouse SEO scored 1.0.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "crawlable-and-mobile-friendly",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Real href links, viewport metadata, index/follow and no mobile overflow were directly observed; Lighthouse crawlable anchors passed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "canonical-and-indexing-signals",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Home canonical/index, successful 200 raw fetches for public templates and crawlable server-rendered links were observed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-discoverable",
      "checkId": "structured-and-shareable-metadata",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Lighthouse SEO was 1.0 and detail titles/descriptions accurately identify the visible advert; no contradictory structured metadata was observed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "secure-transport-and-headers",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The headers probe found no CSP or HSTS. Cookie evidence found _gcl_au and g_state without Secure and with SameSite=None, plus a 400-day identifier. HTTPS itself was present.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "findingIds": [
        "F15"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "data-minimisation-and-third-parties",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The initial-load tracker probe found 10 third-party origins including GTM and DoubleClick; the HAR shows analytics/ad requests and 1.59 MB of third-party transfer while the consent wall is still visible.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F16"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "in-context-permissions-and-modern-auth",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The login/posting screenshot presents Facebook Login and Sign in with Google; the tested public flows exposed no passkey/WebAuthn affordance.",
      "pathIds": [
        "login"
      ],
      "artifacts": [
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F17"
      ]
    },
    {
      "principleId": "be-private-and-secure",
      "checkId": "defensive-browser-policies",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The main document had no X-Frame-Options/frame-ancestors, Referrer-Policy or Permissions-Policy in addition to missing CSP/HSTS.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/headers.json"
      ],
      "findingIds": [
        "F18"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "progressive-enhancement",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Raw HTML retained 78% listing content and 48% detail content with titles/H1/descriptions present; neither page is a JS shell.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "resilient-runtime-behaviour",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Representative pages remained rendered and navigable with stable no-overflow layouts; overlays fit the tested mobile viewport.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "offline-and-installable",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "The live detail page exposes a web app manifest and service-worker support/registration surface, appropriate for this app-like marketplace.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-resilient",
      "checkId": "network-and-http-failure-states",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Representative screenshots, DOM/evaluate probes and objective artifacts showed the expected outcome across the audited templates; no contradictory state was observed.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "lang-dir-and-logical-properties",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "The document declares lang=\"ro\" and its LTR reading order is correct on desktop and mobile; no bidi content was present.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "locale-aware-data",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The detail page has lang=\"ro\" but renders “Valabil din 7/21/2026 9:52:36 PM”; currency strings also use English-style comma grouping such as “3,600 RON”.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-functional-probe.json",
        "evidence/detail-desktop.png"
      ],
      "findingIds": [
        "F19"
      ]
    },
    {
      "principleId": "be-internationalised",
      "checkId": "time-zone-correctness",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The advert validity timestamp has no zone/offset and uses a naive-looking local representation, so users cannot tell which instant it denotes.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "findingIds": [
        "F20"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "no-dark-patterns",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The first consent layer gives a prominent one-click accept action but sends rejection into “More options”; the wall also emphasizes 1,725 partners and blocks the marketplace.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "findingIds": [
        "F21"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "humane-error-handling",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The detail probe found visible number/date/message inputs with required=false and no associated labels; this prevents reliable native required feedback and accessible error association.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "findingIds": [
        "F22"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "trustworthy-input-assistance",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The search and seller-message fields returned empty autocomplete values, so the browser receives no explicit purpose hints.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "findingIds": [
        "F23"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "checkId": "safe-commercial-and-account-flows",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Posting redirects directly to an authentication screen and the visible account surface offers social identity providers before users can draft, review commitments or preserve work.",
      "pathIds": [
        "post-ad"
      ],
      "artifacts": [
        "evidence/post-ad-mobile.png",
        "evidence/login-mobile.png"
      ],
      "findingIds": [
        "F24"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "optimised-assets",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Home has 40/42 images without srcset and 9 legacy-format images; detail has 6 legacy JPEGs, missing dimensions and oversized thumbnails.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "findingIds": [
        "F25"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "no-wasteful-work",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Before any consent decision, home performs 46 requests and loads multiple tag, CMP, identity, recommendation and analytics resources; 34 requests are classified third-party.",
      "pathIds": [
        "home"
      ],
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "findingIds": [
        "F26"
      ]
    },
    {
      "principleId": "be-sustainable",
      "checkId": "third-party-and-media-budget",
      "status": "issues",
      "confidence": "high",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "The representative advert transferred 3.38 MB across 91 requests; 3.13 MB and 75 requests were third-party, including ads, tracking, identity and reCAPTCHA.",
      "pathIds": [
        "detail"
      ],
      "artifacts": [
        "evidence/detail-summary.json",
        "evidence/detail.har"
      ],
      "findingIds": [
        "F27"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "structured-agent-capabilities",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative-surface DOM and interaction recon.",
      "evidence": "No declared agent-facing intent was found; this emerging capability is contextual and absence is not penalised.",
      "reason": "No declared agent-facing intent was found; this emerging capability is contextual and absence is not penalised."
    },
    {
      "principleId": "be-agent-ready",
      "checkId": "on-device-inference",
      "status": "not-applicable",
      "confidence": "high",
      "method": "Representative-surface DOM and interaction recon.",
      "evidence": "No user task on the audited marketplace surfaces declared a need for on-device inference; the emerging check is contextual.",
      "reason": "No user task on the audited marketplace surfaces declared a need for on-device inference; the emerging check is contextual."
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-leak-under-repeated-interaction",
      "status": "issues",
      "confidence": "low",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "Heap summaries moved from 33,262,571 bytes/688,748 nodes at baseline to 35,840,889 bytes/725,883 nodes after ten full-page scroll cycles, about +7.8% bytes and +5.4% nodes. Separate-load variance lowers confidence, but the growth warrants profiling.",
      "pathIds": [
        "listing"
      ],
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll-valid.json"
      ],
      "findingIds": [
        "F28"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "bounded-footprint",
      "status": "issues",
      "confidence": "medium",
      "method": "Direct screenshot, DOM/evaluate probe, and/or objective evidence artifact as cited.",
      "evidence": "A fresh listing snapshot contained 688,748 heap nodes and 33.3 MB self size before extended interaction, high for a server-rendered classified list and consistent with its heavy vendor surface.",
      "pathIds": [
        "listing"
      ],
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "findingIds": [
        "F29"
      ]
    },
    {
      "principleId": "be-memory-efficient",
      "checkId": "no-detached-dom-or-unbounded-listeners",
      "status": "pass",
      "confidence": "medium",
      "method": "Direct multi-template screenshot, DOM/evaluate, Lighthouse or network evidence as appropriate to this check.",
      "evidence": "Heap summaries did not surface a top retained Detached* constructor population; the growth signal is separately and cautiously reported.",
      "pathIds": [
        "home",
        "listing",
        "detail"
      ]
    }
  ],
  "principleOutcomes": [
    {
      "principleId": "respect-user-preferences",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "implement-natural-interactions",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "provide-guided-navigation",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "maximize-content-reduce-noise",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F01",
        "F02"
      ]
    },
    {
      "principleId": "adapt-to-the-form-factor",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F04"
      ]
    },
    {
      "principleId": "support-core-task-success",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F05",
        "F06"
      ]
    },
    {
      "principleId": "be-fast-and-stable",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F07",
        "F08",
        "F09",
        "F10"
      ]
    },
    {
      "principleId": "be-inclusive",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F12",
        "F03",
        "F11"
      ]
    },
    {
      "principleId": "follow-best-practices",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F13",
        "F14"
      ]
    },
    {
      "principleId": "be-discoverable",
      "expectation": "default",
      "status": "pass"
    },
    {
      "principleId": "be-private-and-secure",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F15",
        "F16",
        "F17",
        "F18"
      ]
    },
    {
      "principleId": "be-resilient",
      "expectation": "contextual",
      "status": "pass"
    },
    {
      "principleId": "be-internationalised",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F19",
        "F20"
      ]
    },
    {
      "principleId": "be-trustworthy",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F21",
        "F22",
        "F23",
        "F24"
      ]
    },
    {
      "principleId": "be-sustainable",
      "expectation": "contextual",
      "status": "issues",
      "findingIds": [
        "F25",
        "F26",
        "F27"
      ]
    },
    {
      "principleId": "be-agent-ready",
      "expectation": "contextual",
      "status": "not-applicable",
      "reason": "All checks are contextual emerging agent capabilities and no agent-facing intent was declared or observed."
    },
    {
      "principleId": "be-memory-efficient",
      "expectation": "default",
      "status": "issues",
      "findingIds": [
        "F28",
        "F29"
      ]
    }
  ],
  "paths": [
    {
      "id": "home",
      "description": "Homepage and marketplace entry point; represents global navigation, search, categories, consent and promoted listings.",
      "url": "https://www.publi24.ro/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "prefers-color-scheme: dark",
        "prefers-reduced-motion: reduce",
        "crawler without JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "listing",
      "description": "Mobile-phone category listing; represents search results, filters, sorting, saved search and dense card lists.",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/",
      "conditions": [
        "desktop 1440x900",
        "mobile 360x800",
        "crawler without JavaScript",
        "10 repeated full-page scroll cycles"
      ],
      "result": "issues"
    },
    {
      "id": "detail",
      "description": "Representative phone advert; covers item content, gallery, seller/contact surface, metadata and image delivery.",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "conditions": [
        "desktop 1440x900",
        "crawler without JavaScript"
      ],
      "result": "issues"
    },
    {
      "id": "post-ad",
      "description": "Primary seller journey entry; represents posting an advert and its authentication gate.",
      "url": "https://www.publi24.ro/adauga-anunturi",
      "conditions": [
        "mobile 360x800",
        "unauthenticated"
      ],
      "result": "issues"
    },
    {
      "id": "login",
      "description": "Account authentication surface reached by the primary posting flow.",
      "url": "https://www.publi24.ro/login",
      "conditions": [
        "mobile 360x800",
        "unauthenticated"
      ],
      "result": "issues"
    }
  ],
  "findings": [
    {
      "id": "F01",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "no-intrusive-interruptions",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "Consent interrupts every first visit and makes refusal harder than acceptance.",
      "evidence": "Desktop and mobile screenshots show a full-width/full-height dimming consent wall before content can be used. The first layer offers “SUNT DE ACORD” and “MAI MULTE OPȚIUNI”, but no equally direct reject action, and names 1,725 partners.",
      "artifacts": [
        "evidence/home-desktop.png",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Replace the load-blocking wall with a compact, non-obscuring consent surface and provide equally prominent Accept and Reject buttons on the first layer.",
      "effort": "medium"
    },
    {
      "id": "F02",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "maximize-content-reduce-noise",
      "principleCheckId": "semantic-dismissible-primitives",
      "guidanceId": "declarative-dialog-popover-control",
      "severity": "medium",
      "confidence": "high",
      "summary": "The consent modal is an ad-hoc div rather than a native dialog.",
      "evidence": "The DOM probe found #qc-cmp2-ui with role=\"dialog\", but zero <dialog>, popover or details elements. The overlay occupies the top layer and manages dismissal manually.",
      "artifacts": [
        "evidence/consent-dom.json",
        "evidence/home-mobile.png"
      ],
      "suggestedFix": "Use <dialog> for the modal consent flow, with native focus containment/Escape semantics, and keep refusal and acceptance actions explicit.",
      "effort": "medium"
    },
    {
      "id": "F03",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-inclusive",
      "principleCheckId": "sufficient-contrast",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Key controls fail WCAG text contrast.",
      "evidence": "Lighthouse/axe measured the orange “Adaugă anunț” CTA at 3.42:1 and the green “Salvează căutarea” control at 3.29:1, below 4.5:1 for normal text.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json"
      ],
      "suggestedFix": "Darken the orange and green surfaces or increase text size/weight until all normal text reaches at least 4.5:1 in each theme.",
      "effort": "small"
    },
    {
      "id": "F04",
      "pathId": "listing",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/",
      "principleId": "adapt-to-the-form-factor",
      "principleCheckId": "component-level-responsiveness",
      "guidanceId": "size-aware-styling",
      "severity": "low",
      "confidence": "medium",
      "summary": "Reusable listing components do not use component-level responsiveness.",
      "evidence": "A live CSS probe found no container-query rules, while the same dense listing/filter/card components are used across desktop and mobile widths. Viewport reflow itself had no horizontal overflow.",
      "artifacts": [
        "evidence/listing-mobile.png",
        "evidence/listing-desktop.png"
      ],
      "suggestedFix": "Give reusable cards, filter groups and CTA clusters containment and adapt them with @container rules; retain viewport rules only for page-level composition.",
      "effort": "medium"
    },
    {
      "id": "F05",
      "pathId": "post-ad",
      "url": "https://www.publi24.ro/adauga-anunturi",
      "principleId": "support-core-task-success",
      "principleCheckId": "primary-flow-completion",
      "guidanceId": "forms",
      "severity": "high",
      "confidence": "high",
      "summary": "Posting an advert begins with a mandatory account wall.",
      "evidence": "The unauthenticated /adauga-anunturi journey redirects to authentication before any advert draft can be started; the screenshot reads “Autentifică-te pentru a putea posta”. This is an avoidable blocker in the marketplace’s primary seller flow.",
      "artifacts": [
        "evidence/post-ad-mobile.png"
      ],
      "suggestedFix": "Allow a draft to be composed before sign-in, explain why an account is needed, preserve the draft, then authenticate only before publication.",
      "effort": "large"
    },
    {
      "id": "F06",
      "pathId": "post-ad",
      "url": "https://www.publi24.ro/adauga-anunturi",
      "principleId": "support-core-task-success",
      "principleCheckId": "clear-system-state-and-recovery",
      "guidanceId": "persistent-toast-notifications",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Rate-limit/security failure states do not provide useful recovery.",
      "evidence": "After repeated representative requests, /adauga-anunturi returned HTTP 429 and the browser showed a “Just a moment” verification shell with no explicit retry, back, support or preserved-flow message.",
      "artifacts": [
        "evidence/post-ad-discoverability.json",
        "evidence/post-ad-discoverability-rendered.png"
      ],
      "suggestedFix": "Serve a branded 429 state with retry timing, a retry action, navigation back to the marketplace, and preservation of the intended return URL/draft.",
      "effort": "medium"
    },
    {
      "id": "F07",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "good-core-web-vitals",
      "guidanceId": "performance",
      "severity": "critical",
      "confidence": "high",
      "summary": "Largest Contentful Paint is far outside the good range.",
      "evidence": "Lighthouse measured mobile LCP at 12.6 s on home and 14.5 s on the category listing (good is ≤2.5 s); trace evidence also measured 3.91 s and 4.93 s in the local trace profile.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json",
        "evidence/home-trace-summary.json",
        "evidence/listing-trace-summary.json"
      ],
      "suggestedFix": "Identify each LCP element, make it discoverable in initial HTML, preload/fetchpriority=\"high\" only for the true candidate, and defer consent/analytics/ad code from the critical path.",
      "effort": "large"
    },
    {
      "id": "F08",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "visual-stability",
      "guidanceId": "performance",
      "severity": "medium",
      "confidence": "high",
      "summary": "The homepage has measurable layout instability.",
      "evidence": "Lighthouse measured homepage CLS at 0.113, outside the good ≤0.1 range; image evidence found two homepage images and eight detail-page images without dimensions.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "suggestedFix": "Reserve image, consent and ad slots with explicit width/height or aspect-ratio, and keep late content from moving existing UI.",
      "effort": "medium"
    },
    {
      "id": "F09",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "efficient-resource-delivery",
      "guidanceId": "optimize-script-priority",
      "severity": "high",
      "confidence": "high",
      "summary": "Critical delivery is dominated by scripts and third parties.",
      "evidence": "HAR captured 1.79 MB/46 requests on home, including 1.19 MB JavaScript; 34 requests and 1.59 MB were third-party. The detail page transferred 3.38 MB/91 requests. Parser-inserted CSS/scripts were identified as render-blocking candidates.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/detail-summary.json",
        "evidence/home.har",
        "evidence/detail.har"
      ],
      "suggestedFix": "Load only essential first-party UI before interaction; delay CMP vendor payloads, ads, analytics, Google Identity and recommendation tags; confirm and add defer/async to non-critical classic scripts.",
      "effort": "large"
    },
    {
      "id": "F10",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-fast-and-stable",
      "principleCheckId": "trim-unused-and-duplicate-code",
      "guidanceId": "defer-rendering-heavy-content",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party code dominates shipped JavaScript.",
      "evidence": "On home, Google Tag Manager alone transferred about 660 KB and CMP resources about 408 KB before consent; on detail, 75 of 91 requests and 3.13 MB were classified third-party.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/detail-summary.json"
      ],
      "suggestedFix": "Consolidate tags, gate non-essential vendors behind consent and user intent, remove duplicate gtag/ads integrations, and dynamically import optional features.",
      "effort": "large"
    },
    {
      "id": "F11",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-inclusive",
      "principleCheckId": "structure-and-focus",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Document structure skips heading levels and home has no H1.",
      "evidence": "The DOM recon found zero H1 elements on home and starts content with H3/H2; Lighthouse flags an invalid jump to footer H4 on both home and listing.",
      "artifacts": [
        "evidence/recon.json",
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json"
      ],
      "suggestedFix": "Add one descriptive H1 per page and make section headings descend sequentially without choosing levels for visual styling.",
      "effort": "small"
    },
    {
      "id": "F12",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "be-inclusive",
      "principleCheckId": "names-roles-labels",
      "guidanceId": "accessibility",
      "severity": "medium",
      "confidence": "high",
      "summary": "Several form controls lack programmatic labels.",
      "evidence": "The detail-page probe found search selects, number/date controls and seller-message text inputs with no associated label or aria-label.",
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "suggestedFix": "Associate every control with a visible <label>; use fieldset/legend for groups and reserve aria-label for controls that cannot have visible text.",
      "effort": "medium"
    },
    {
      "id": "F13",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "follow-best-practices",
      "principleCheckId": "no-console-errors",
      "guidanceId": "html",
      "severity": "low",
      "confidence": "high",
      "summary": "A recurring identity-provider error is logged to the console.",
      "evidence": "Lighthouse on home and listing captured “Not signed in with the identity provider.” as a browser console error.",
      "artifacts": [
        "evidence/lighthouse-home-summary.json",
        "evidence/lighthouse-listing-summary.json"
      ],
      "suggestedFix": "Treat signed-out as an expected state; initialize Google Identity conditionally and handle its rejection without console.error.",
      "effort": "small"
    },
    {
      "id": "F14",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "follow-best-practices",
      "principleCheckId": "sound-document-and-assets",
      "guidanceId": "optimize-image-priority",
      "severity": "medium",
      "confidence": "high",
      "summary": "Detail imagery lacks stable dimensions and responsive delivery.",
      "evidence": "Image inspection found 8 of 9 detail images without width/height, 6 legacy JPEG assets, 2 oversized thumbnails and no responsive srcset on the principal advert image.",
      "artifacts": [
        "evidence/detail-images.json"
      ],
      "suggestedFix": "Generate AVIF/WebP variants and srcset/sizes, set intrinsic width/height, and lazy-load only below-fold gallery images.",
      "effort": "medium"
    },
    {
      "id": "F15",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "secure-transport-and-headers",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Core browser security headers and cookie protections are missing.",
      "evidence": "The headers probe found no CSP or HSTS. Cookie evidence found _gcl_au and g_state without Secure and with SameSite=None, plus a 400-day identifier. HTTPS itself was present.",
      "artifacts": [
        "evidence/headers.json",
        "evidence/cookies.json"
      ],
      "suggestedFix": "Deploy CSP in report-only then enforcement, enable long-lived HSTS, set Secure and the narrowest SameSite value on all cookies, and shorten identifier lifetimes.",
      "effort": "medium"
    },
    {
      "id": "F16",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "data-minimisation-and-third-parties",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "Tracking executes before the user has made a consent choice.",
      "evidence": "The initial-load tracker probe found 10 third-party origins including GTM and DoubleClick; the HAR shows analytics/ad requests and 1.59 MB of third-party transfer while the consent wall is still visible.",
      "artifacts": [
        "evidence/trackers.json",
        "evidence/home-summary.json",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Default to no non-essential storage or requests, then load consented vendors after a clear choice; audit and remove vendors that do not provide proportional value.",
      "effort": "large"
    },
    {
      "id": "F17",
      "pathId": "login",
      "url": "https://www.publi24.ro/login",
      "principleId": "be-private-and-secure",
      "principleCheckId": "in-context-permissions-and-modern-auth",
      "guidanceId": "passkey-authentication",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Account entry relies on federated sign-in and exposes no passkey path.",
      "evidence": "The login/posting screenshot presents Facebook Login and Sign in with Google; the tested public flows exposed no passkey/WebAuthn affordance.",
      "artifacts": [
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Offer a first-party account path with passkey registration/authentication and retain federated sign-in as a choice, not the only visible route.",
      "effort": "large"
    },
    {
      "id": "F18",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-private-and-secure",
      "principleCheckId": "defensive-browser-policies",
      "guidanceId": "security",
      "severity": "high",
      "confidence": "high",
      "summary": "Defensive browser policies are largely absent.",
      "evidence": "The main document had no X-Frame-Options/frame-ancestors, Referrer-Policy or Permissions-Policy in addition to missing CSP/HSTS.",
      "artifacts": [
        "evidence/headers.json"
      ],
      "suggestedFix": "Set frame-ancestors in CSP, a strict-origin-when-cross-origin or tighter referrer policy, and a least-privilege Permissions-Policy; evaluate Trusted Types for script sinks.",
      "effort": "medium"
    },
    {
      "id": "F19",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "be-internationalised",
      "principleCheckId": "locale-aware-data",
      "guidanceId": "coordinate-global-events",
      "severity": "medium",
      "confidence": "high",
      "summary": "Romanian content displays an en-US date/time format without a time zone.",
      "evidence": "The detail page has lang=\"ro\" but renders “Valabil din 7/21/2026 9:52:36 PM”; currency strings also use English-style comma grouping such as “3,600 RON”.",
      "artifacts": [
        "evidence/detail-functional-probe.json",
        "evidence/detail-desktop.png"
      ],
      "suggestedFix": "Format dates, times, numbers and currency with Intl using the active Romanian locale, and show/store an explicit IANA time zone or unambiguous instant.",
      "effort": "small"
    },
    {
      "id": "F20",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "be-internationalised",
      "principleCheckId": "time-zone-correctness",
      "guidanceId": "coordinate-global-events",
      "severity": "medium",
      "confidence": "high",
      "summary": "Rendered times are ambiguous across zones and DST.",
      "evidence": "The advert validity timestamp has no zone/offset and uses a naive-looking local representation, so users cannot tell which instant it denotes.",
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "suggestedFix": "Store instants in UTC, retain the business IANA zone, and render with Intl.DateTimeFormat including a localized time-zone label where timing matters.",
      "effort": "medium"
    },
    {
      "id": "F21",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-trustworthy",
      "principleCheckId": "no-dark-patterns",
      "guidanceId": "privacy",
      "severity": "high",
      "confidence": "high",
      "summary": "Consent choice architecture is asymmetric.",
      "evidence": "The first consent layer gives a prominent one-click accept action but sends rejection into “More options”; the wall also emphasizes 1,725 partners and blocks the marketplace.",
      "artifacts": [
        "evidence/home-mobile.png",
        "evidence/home-desktop.png"
      ],
      "suggestedFix": "Provide Accept all, Reject all and Manage choices at equal hierarchy, avoid default-on purposes, and keep the service usable after refusal.",
      "effort": "medium"
    },
    {
      "id": "F22",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "be-trustworthy",
      "principleCheckId": "humane-error-handling",
      "guidanceId": "accessible-error-announcement",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Forms do not expose native required/error semantics.",
      "evidence": "The detail probe found visible number/date/message inputs with required=false and no associated labels; this prevents reliable native required feedback and accessible error association.",
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "suggestedFix": "Define actual required constraints, validate after interaction, pair messages with aria-describedby/aria-invalid and announce submission errors in a live region.",
      "effort": "medium"
    },
    {
      "id": "F23",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "be-trustworthy",
      "principleCheckId": "trustworthy-input-assistance",
      "guidanceId": "forms",
      "severity": "low",
      "confidence": "high",
      "summary": "Input assistance metadata is missing.",
      "evidence": "The search and seller-message fields returned empty autocomplete values, so the browser receives no explicit purpose hints.",
      "artifacts": [
        "evidence/detail-functional-probe.json"
      ],
      "suggestedFix": "Add appropriate autocomplete tokens (or autocomplete=\"off\" only where justified) and stable names/labels to user-data fields.",
      "effort": "small"
    },
    {
      "id": "F24",
      "pathId": "post-ad",
      "url": "https://www.publi24.ro/adauga-anunturi",
      "principleId": "be-trustworthy",
      "principleCheckId": "safe-commercial-and-account-flows",
      "guidanceId": "forms",
      "severity": "medium",
      "confidence": "medium",
      "summary": "Account/commercial flow starts with continuity pressure rather than reversible drafting.",
      "evidence": "Posting redirects directly to an authentication screen and the visible account surface offers social identity providers before users can draft, review commitments or preserve work.",
      "artifacts": [
        "evidence/post-ad-mobile.png",
        "evidence/login-mobile.png"
      ],
      "suggestedFix": "Let users draft and review before account creation, explain commitments, preserve progress through authentication and offer passkeys/account management.",
      "effort": "large"
    },
    {
      "id": "F25",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-sustainable",
      "principleCheckId": "optimised-assets",
      "guidanceId": "deliver-optimized-decorative-images",
      "severity": "medium",
      "confidence": "high",
      "summary": "Asset delivery is not consistently optimized for resolution or format.",
      "evidence": "Home has 40/42 images without srcset and 9 legacy-format images; detail has 6 legacy JPEGs, missing dimensions and oversized thumbnails.",
      "artifacts": [
        "evidence/home-images.json",
        "evidence/detail-images.json"
      ],
      "suggestedFix": "Generate responsive modern-format variants, use srcset/sizes, and serve dimensions appropriate to each card/gallery slot.",
      "effort": "medium"
    },
    {
      "id": "F26",
      "pathId": "home",
      "url": "https://www.publi24.ro/",
      "principleId": "be-sustainable",
      "principleCheckId": "no-wasteful-work",
      "guidanceId": "efficient-background-processing",
      "severity": "high",
      "confidence": "high",
      "summary": "Initial background/vendor work is disproportionate to the core listing task.",
      "evidence": "Before any consent decision, home performs 46 requests and loads multiple tag, CMP, identity, recommendation and analytics resources; 34 requests are classified third-party.",
      "artifacts": [
        "evidence/home-summary.json",
        "evidence/trackers.json"
      ],
      "suggestedFix": "Deprioritize or suppress background fetches until consent/intent, pause work while hidden and batch essential analytics.",
      "effort": "large"
    },
    {
      "id": "F27",
      "pathId": "detail",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/samsung/anunt/samsung-j5-impecabil/3f35926e935e7diie2fhif0027i5f3f6.html",
      "principleId": "be-sustainable",
      "principleCheckId": "third-party-and-media-budget",
      "guidanceId": "deprioritize-background-fetches",
      "severity": "high",
      "confidence": "high",
      "summary": "Third-party and media weight is excessive for a classifieds detail page.",
      "evidence": "The representative advert transferred 3.38 MB across 91 requests; 3.13 MB and 75 requests were third-party, including ads, tracking, identity and reCAPTCHA.",
      "artifacts": [
        "evidence/detail-summary.json",
        "evidence/detail.har"
      ],
      "suggestedFix": "Set a per-template byte/request budget, lazy-load contact protections and ads on intent, consolidate vendors, and continuously enforce third-party budgets.",
      "effort": "large"
    },
    {
      "id": "F28",
      "pathId": "listing",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/",
      "principleId": "be-memory-efficient",
      "principleCheckId": "no-leak-under-repeated-interaction",
      "guidanceId": "manage-recurring-intervals",
      "severity": "low",
      "confidence": "low",
      "summary": "Repeated long-list interaction increased retained heap noticeably.",
      "evidence": "Heap summaries moved from 33,262,571 bytes/688,748 nodes at baseline to 35,840,889 bytes/725,883 nodes after ten full-page scroll cycles, about +7.8% bytes and +5.4% nodes. Separate-load variance lowers confidence, but the growth warrants profiling.",
      "artifacts": [
        "evidence/heap-baseline.json",
        "evidence/heap-post-scroll-valid.json"
      ],
      "suggestedFix": "Capture baseline/target/final snapshots in one persistent session, force GC between phases, and trace retaining paths for list cards, observers, ad slots and listeners; fix only confirmed monotonic retention.",
      "effort": "medium"
    },
    {
      "id": "F29",
      "pathId": "listing",
      "url": "https://www.publi24.ro/anunturi/electronice/telefoane-mobile/",
      "principleId": "be-memory-efficient",
      "principleCheckId": "bounded-footprint",
      "guidanceId": "performance",
      "severity": "low",
      "confidence": "medium",
      "summary": "The listing has a large initial heap footprint.",
      "evidence": "A fresh listing snapshot contained 688,748 heap nodes and 33.3 MB self size before extended interaction, high for a server-rendered classified list and consistent with its heavy vendor surface.",
      "artifacts": [
        "evidence/heap-baseline.json"
      ],
      "suggestedFix": "Profile constructor and script ownership, defer ad/analytics objects and virtualize or discard offscreen listing state where measured memory savings justify it.",
      "effort": "medium"
    }
  ],
  "taskList": [
    {
      "id": "T01",
      "title": "Remove consent-gated tracking and make reject equal to accept",
      "priority": 1,
      "findingIds": [
        "F01",
        "F16",
        "F21",
        "F26"
      ],
      "guidanceId": "privacy",
      "status": "open"
    },
    {
      "id": "T02",
      "title": "Fix the LCP critical path and third-party script budget",
      "priority": 2,
      "findingIds": [
        "F07",
        "F09",
        "F10",
        "F27"
      ],
      "guidanceId": "performance",
      "status": "open"
    },
    {
      "id": "T03",
      "title": "Deploy browser security headers and secure cookie attributes",
      "priority": 3,
      "findingIds": [
        "F15",
        "F18"
      ],
      "guidanceId": "security",
      "status": "open"
    },
    {
      "id": "T04",
      "title": "Optimize and dimension responsive images",
      "priority": 4,
      "findingIds": [
        "F08",
        "F14",
        "F25"
      ],
      "guidanceId": "optimize-image-priority",
      "status": "open"
    },
    {
      "id": "T05",
      "title": "Let sellers draft before authentication and preserve progress",
      "priority": 5,
      "findingIds": [
        "F05",
        "F24"
      ],
      "guidanceId": "forms",
      "status": "open"
    },
    {
      "id": "T06",
      "title": "Repair labels, headings, contrast and error semantics",
      "priority": 6,
      "findingIds": [
        "F03",
        "F11",
        "F12",
        "F22",
        "F23"
      ],
      "guidanceId": "accessibility",
      "status": "open"
    },
    {
      "id": "T07",
      "title": "Localize dates/numbers and make time zones explicit",
      "priority": 7,
      "findingIds": [
        "F19",
        "F20"
      ],
      "guidanceId": "coordinate-global-events",
      "status": "open"
    },
    {
      "id": "T08",
      "title": "Profile retained memory in one persistent listing session",
      "priority": 8,
      "findingIds": [
        "F28",
        "F29"
      ],
      "guidanceId": "manage-recurring-intervals",
      "status": "open"
    },
    {
      "id": "T09",
      "title": "Adopt native dialog and component container queries",
      "priority": 9,
      "findingIds": [
        "F02",
        "F04"
      ],
      "guidanceId": "declarative-dialog-popover-control",
      "status": "open"
    },
    {
      "id": "T10",
      "title": "Add passkeys and improve account entry",
      "priority": 10,
      "findingIds": [
        "F17"
      ],
      "guidanceId": "passkey-authentication",
      "status": "open"
    },
    {
      "id": "T11",
      "title": "Handle expected identity and 429 states cleanly",
      "priority": 11,
      "findingIds": [
        "F06",
        "F13"
      ],
      "guidanceId": "html",
      "status": "open"
    }
  ],
  "budget": {
    "pathCount": 5,
    "auditPasses": 1
  },
  "agent": "pi",
  "runId": "2026-07-21T18-53-21-863Z"
}
