{
  "schema": "pagespeed-audit/findings@1",
  "run": {
    "run_id": "sample-2026-09-15",
    "generated_at": "2026-09-15T22:55:18Z",
    "skill_version": "sample",
    "site": "example.com",
    "url": "https://example.com/",
    "final_url": "https://example.com/",
    "strategy": "mobile",
    "date": "2026-09-15",
    "lighthouse_version": null,
    "data_sources": [
      "PSI/Lighthouse",
      "CrUX field (28-day p75)"
    ],
    "field_available": true,
    "binding_constraint": "field p75 TTFB 1.6 s — passing in the lab, absent from all 21 flags",
    "missing_from_psi": "field p75 TTFB 1.6 s: the server-response-time audit passes in the lab (~1 ms from the datacenter)",
    "adjudication_counts": {
      "confirmed": 1,
      "false_positive": 2,
      "deprioritized": 2,
      "platform_blocked": 1,
      "readout": 0
    },
    "framework": "noise-silence/four-verdicts@1",
    "noise_rate": 0.8333
  },
  "metrics": [
    {
      "metric": "TTFB",
      "source": "field_page",
      "value": 1600,
      "unit": "ms",
      "category": "needs-improvement",
      "good": 800,
      "poor": 1800
    },
    {
      "metric": "LCP",
      "source": "field_page",
      "value": 2784,
      "unit": "ms",
      "category": "needs-improvement",
      "good": 2500,
      "poor": 4000
    },
    {
      "metric": "CLS",
      "source": "field_page",
      "value": 0,
      "unit": "",
      "category": "good",
      "good": 0.1,
      "poor": 0.25
    },
    {
      "metric": "TTFB",
      "source": "lab",
      "value": 1,
      "unit": "ms",
      "category": null,
      "good": 800,
      "poor": 1800
    },
    {
      "metric": "CLS",
      "source": "lab",
      "value": 0.122,
      "unit": "",
      "category": null,
      "good": 0.1,
      "poor": 0.25
    }
  ],
  "adjudications": [
    {
      "audit_id": "render-blocking-resources",
      "disposition": "confirmed",
      "claim": "Reduce render-blocking resources — save 2,330 ms",
      "evidence": "Field p75 LCP = 2,784 ms. The chain is real, but the saving is a lab-graph counterfactual on a different baseline; impact recomputed against field data.",
      "finding_ref": "F1",
      "metric_savings": {
        "LCP": 2330
      }
    },
    {
      "audit_id": "uses-responsive-images",
      "disposition": "false_positive",
      "claim": "Properly size images",
      "evidence": "srcset / sizes present and correct; the flag fired on 2x density at the emulated DPR. Correct responsive art direction misread as oversizing."
    },
    {
      "audit_id": "font-display",
      "disposition": "false_positive",
      "claim": "Ensure text remains visible during webfont load",
      "evidence": "Icon font with font-display: block. Blocking is the correct behaviour for icon fonts; swap would flash raw ligature text."
    },
    {
      "audit_id": "unsized-images",
      "disposition": "deprioritized",
      "claim": "Image elements do not have explicit width and height",
      "evidence": "Lab CLS 0.122; field p75 CLS 0.00 with an essentially all-good CLS distribution. The shift appears under cold-cache lab conditions; no materially affected cohort in the field."
    },
    {
      "audit_id": "unused-javascript",
      "disposition": "deprioritized",
      "claim": "Reduce unused JavaScript — 909 KiB",
      "evidence": "The flag's own metricSavings are zero on the metrics modelled, and the bytes are attributed to reCAPTCHA: security-owned, interaction-path code.",
      "metric_savings": {
        "LCP": 0,
        "FCP": 0
      }
    },
    {
      "audit_id": "uses-long-cache-ttl",
      "disposition": "platform_blocked",
      "claim": "Serve static assets with an efficient cache policy",
      "evidence": "Assets served by the platform's CDN; TTLs not merchant-controllable on this plan. True and material — and owned by the platform.",
      "finding_ref": "F3"
    }
  ],
  "findings": [
    {
      "id": "F1",
      "slug": "render-blocking-resources:critical-path",
      "title": "Render-blocking resources on the critical render chain: the chain is real, the 2,330 ms saving is a lab counterfactual",
      "severity": "HIGH",
      "confidence": "HIGH",
      "tags": [
        "lcp",
        "render-blocking"
      ],
      "evidence": "Lighthouse's render-blocking-resources flag models a 2,330 ms saving on a page whose real users' p75 LCP is 2,784 ms — a saving nearly the size of the entire field experience. The chain is real; the magnitude is not transferable.",
      "scope": null,
      "chain": null,
      "impact": {
        "narrative": "The chain is real. The saving is not 2,330 ms: that number is a lab-graph counterfactual, so the range is recomputed against the field p75 LCP of 2,784 ms rather than subtracted from it.",
        "arithmetic": "2,784 ms field p75 − 2,330 ms lab saving would imply a ~450 ms LCP — arithmetic across incompatible baselines. The honest range is recomputed against field data.",
        "metric": "LCP",
        "unit": "ms",
        "min": null,
        "max": null,
        "direction": "decrease",
        "confidence": "MEDIUM-HIGH"
      },
      "sequencing": null
    },
    {
      "id": "F2",
      "slug": "origin-ttfb:field-p75",
      "title": "Silent Bottleneck: real users wait 1.6 s for the first byte while the lab measures ~1 ms",
      "severity": "CRITICAL",
      "confidence": "HIGH",
      "tags": [
        "ttfb",
        "silent-bottleneck",
        "field-vs-lab"
      ],
      "evidence": "Field p75 TTFB 1.6 s — double the 0.8 s guideline Google's documentation sets for server response — against a lab TTFB near 1 ms from the datacenter. The server-response-time audit passes; none of the 21 flags names it.",
      "scope": null,
      "impact": {
        "narrative": "The binding field constraint appears nowhere in the flag list. Every millisecond of it precedes the first byte of every page.",
        "arithmetic": null,
        "metric": "TTFB",
        "unit": "ms",
        "min": null,
        "max": null,
        "direction": "decrease",
        "confidence": "HIGH"
      }
    },
    {
      "id": "F3",
      "slug": "cdn-cache-ttl:platform-owned",
      "title": "Static-asset cache TTLs are set by the platform's CDN, not the merchant",
      "severity": "MEDIUM",
      "confidence": "HIGH",
      "tags": [
        "caching",
        "locked"
      ],
      "evidence": "Assets are served by the platform's CDN; TTLs are not merchant-controllable on this plan.",
      "impact": {
        "narrative": "True and material — and owned by the platform.",
        "metric": null,
        "direction": null
      },
      "locked": true,
      "redirect": "Effort redirected to the controllable equivalent on this plan; the flag is not a to-do for the merchant."
    }
  ],
  "deliverables": [],
  "plan": [
    {
      "bucket": "today",
      "position": 1,
      "item": "Take the render-blocking resources off the critical render chain (F1)"
    },
    {
      "bucket": "sprint",
      "position": 1,
      "item": "Investigate origin response time against the 1.6 s field p75 TTFB (F2)"
    }
  ]
}