{
  "generatedAt": "2026-11-06T19:28:59.700Z",
  "harness": "audit/qa/map-tiles.mjs",
  "harnessSha256": "eee344a5e31e48828550b9d5fefa100b31150b7a6e0110a5945ebb868b444a28",
  "mode": "negative-control-grey-card",
  "card": "grey",
  "target": "http://demo-kelowna-8rs0k.lvh.me:3012/listings?layout=map",
  "detected": true,
  "expected": "the classifier must reject a synthetic 200-OK grey placeholder (pixel rules)",
  "verdict": "FAIL",
  "counts": {
    "landingView": {
      "observed": 18,
      "real": 0,
      "empty": 0,
      "blocked": 18,
      "domImages": 18,
      "domRendered": 18
    },
    "allViews": {
      "observed": 59,
      "real": 0,
      "empty": 0,
      "blocked": 59
    }
  },
  "failedChecks": [
    {
      "id": "tiles-real",
      "detail": "0 REAL tile(s) of 18 observed at first paint; required >= 6"
    },
    {
      "id": "tiles-no-blocked",
      "detail": "59 BLOCKED: http://demo-kelowna-8rs0k.lvh.me:3012/api/map/tiles/11/342/694 -> low-detail neutral 256x256 tile rgb(128,128,128) — 2 colour(s), edge energy 0.29: provider placeholder, not a map; http://demo-kelowna-8rs0k.lvh.me:3012/api/map/tiles/11/342/695 -> low-detail neutral 256x256 tile rgb(128,128,128) — 2 colour(s), edge energy 0.29: provider placeholder, not a map; http://demo-kelowna-8rs0k.lvh.me:3012/api/map/tiles/11/342/696 -> low-detail neutral 256x256 tile rgb(128,128,128) — 2 colour(s), edge energy 0.29: provider placeholder, not a map"
    },
    {
      "id": "map-not-silently-fallen-back",
      "detail": "18 tile <img> in the DOM, 18 painted"
    },
    {
      "id": "pan-changes-tiles",
      "detail": "0/20 tile(s) at the new view are REAL; 18 -> 20 img(s)"
    }
  ],
  "checks": [
    {
      "id": "tiles-real",
      "pass": false,
      "detail": "0 REAL tile(s) of 18 observed at first paint; required >= 6"
    },
    {
      "id": "tiles-no-blocked",
      "pass": false,
      "detail": "59 BLOCKED: http://demo-kelowna-8rs0k.lvh.me:3012/api/map/tiles/11/342/694 -> low-detail neutral 256x256 tile rgb(128,128,128) — 2 colour(s), edge energy 0.29: provider placeholder, not a map; http://demo-kelowna-8rs0k.lvh.me:3012/api/map/tiles/11/342/695 -> low-detail neutral 256x256 tile rgb(128,128,128) — 2 colour(s), edge energy 0.29: provider placeholder, not a map; http://demo-kelowna-8rs0k.lvh.me:3012/api/map/tiles/11/342/696 -> low-detail neutral 256x256 tile rgb(128,128,128) — 2 colour(s), edge energy 0.29: provider placeholder, not a map"
    },
    {
      "id": "map-not-silently-fallen-back",
      "pass": false,
      "detail": "18 tile <img> in the DOM, 18 painted"
    },
    {
      "id": "attribution",
      "pass": true,
      "detail": "visible=true withinMap=true text=\"© Esri, HERE, Garmin, © OpenStreetMap contributors\" fontSize=11px"
    },
    {
      "id": "pins",
      "pass": true,
      "detail": "12 pin(s), 12 visible"
    },
    {
      "id": "pan-changes-pixels",
      "pass": true,
      "detail": "23.52% of map pixels changed (threshold 2%), mean channel delta 25.95 via mouse-drag"
    },
    {
      "id": "pan-changes-tiles",
      "pass": false,
      "detail": "0/20 tile(s) at the new view are REAL; 18 -> 20 img(s)"
    },
    {
      "id": "console-errors-recorded",
      "pass": true,
      "detail": "0 console error(s)"
    },
    {
      "id": "page-not-blank",
      "pass": true,
      "detail": "map aria-label=\"Map of 2,781 listings\""
    },
    {
      "id": "tiles-same-origin",
      "pass": true,
      "detail": "all 1 tile origin(s) match the tenant (http://demo-kelowna-8rs0k.lvh.me:3012)"
    },
    {
      "id": "classifier-catches-placeholder",
      "pass": true,
      "detail": "7/7 placeholder fixtures classified BLOCKED/EMPTY as expected"
    }
  ],
  "evidence": {
    "pageScreenshot": "audit/qa/map/blocked/page-1440.png",
    "pageScreenshotAfterPan": "audit/qa/map/blocked/page-1440-after-pan.png",
    "mapBefore": "audit/qa/map/blocked/map-before.png",
    "mapAfterPan": "audit/qa/map/blocked/map-after-pan.png",
    "tileDirectory": "audit/qa/map/blocked/tiles",
    "fixtures": "audit/qa/map/blocked/fixtures"
  },
  "report": "audit/qa/map/blocked/report.json"
}