{
  "separate_public_canary": {
    "target_id": "webscrapingdev",
    "site": "Web Scraping Dev",
    "category": "javascript",
    "url": "https://web-scraping.dev/reviews",
    "original_url": "https://web-scraping.dev/reviews",
    "final_url": "https://web-scraping.dev/reviews",
    "expected_required_content": "Review text loaded by the JavaScript review interface",
    "started_at": "2026-09-29T22:23:16.166914+00:00",
    "navigation_started_at": "2026-09-29T22:23:16.790869+00:00",
    "status": 200,
    "navigation_outcome": "returned",
    "redirect_history": [],
    "redirect_outcome": "none",
    "document_responses": [
      {
        "url": "https://web-scraping.dev/reviews",
        "status": 200
      }
    ],
    "browser_version": "153.0.8010.12",
    "browser_cdp_version": {
      "protocolVersion": "1.3",
      "product": "Chrome/153.0.8010.12",
      "revision": "@971a7443b0c9b0a9b2860529b33331b76077ec62",
      "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.0.0 Safari/537.36",
      "jsVersion": "15.3.76.4"
    },
    "error": null,
    "navigation_error": null,
    "capture_error": null,
    "screenshot_error": null,
    "screenshot_sha256": "aa5980222ab09614c1603b45703a5a4483c9e631bc699a8421ae058b5b32c864",
    "capture_complete": true,
    "raw_html_sha256": "463b9848988fe202d3a884d431bb47ce221a6aac0dc805508da98762f88477ad",
    "html_bytes": 38246,
    "navigation_seconds": 1.836,
    "attempt_seconds": 4.608,
    "effective_browser_arguments": null,
    "browser_arguments_error": {
      "type": "Error",
      "message": "CDPSession.send: Protocol error (Browser.getBrowserCommandLine): Command line not returned because --enable-automation not set."
    },
    "initial_cookie_count": 0,
    "browser_observation": {
      "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.0.0 Safari/537.36",
      "webdriver": true,
      "language": "en-US",
      "platform": "Linux x86_64",
      "viewport": {
        "width": 1280,
        "height": 720
      }
    },
    "latency_seconds": 3.844,
    "browser_event_log_sha256": "eb8c2b53b89ebd36ac23cbea39d43a33d7e2b25d1228876f2204d3b8063cfd49",
    "browser_event_log_entries": 1,
    "finished_at": "2026-09-29T22:23:20.775370+00:00",
    "checks": {
      "text_chars": 2008,
      "required_text_checks": [
        {
          "alternatives": [
            "unique flavor and great energy boost",
            "excellent energy drink for gamers"
          ],
          "matched": [
            "unique flavor and great energy boost",
            "excellent energy drink for gamers"
          ]
        }
      ],
      "text_regex_checks": [],
      "min_text_chars": 300,
      "has_required_content": true,
      "soft_block_checks": {
        "phrases_checked": [
          "verify you are human",
          "robot or human",
          "robot check",
          "access denied",
          "pardon our interruption",
          "please complete the captcha",
          "enter the characters",
          "additional verification required",
          "unusual traffic",
          "checking your browser",
          "enable javascript and cookies to continue",
          "just a moment"
        ],
        "matched": []
      },
      "gate_checks": {
        "phrases_checked": [
          "log in to continue",
          "sign in to continue",
          "sign in to linkedin",
          "consent required",
          "before you continue"
        ],
        "matched": []
      }
    },
    "empty_content": false,
    "classification": "usable",
    "usable_content": true,
    "cleanup_surviving_owned_pids": [],
    "driver_log_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "peak_sampled_tree_pss_mb": 549.368,
    "pss_samples": 38,
    "attempt_process_exit": 0,
    "host_ram_before": {
      "MemTotal": 32049.69921875,
      "MemAvailable": 13440.5625,
      "SwapTotal": 8191.99609375,
      "SwapFree": 2.10546875,
      "unit": "MiB",
      "measured_at": "2026-09-29T22:23:16.048273+00:00"
    },
    "inspection_note": "Complete saved DOM met all unchanged word groups, listing patterns and minimum text. No complete field extraction was verified.",
    "screenshot_limit": "Viewport PNG was taken after DOM capture; it is not complete-page evidence and does not determine the frozen classification. A screenshot error alone cannot turn a content pass into a failure."
  },
  "executed_command": "/tmp/scrapingevals-playwright-20260930/bin/python public/evidence/playwright-public-30-20260929/run.py --binary /tmp/scrapingevals-patchright-amazon-20260929/browsers/chromium-1243/chrome-linux64/chrome --manifest runner/corpora/public-30-v1.json --output runner/data/playwright-canary-20260930 --target webscrapingdev",
  "canary_runner_sha256": "3cd1b33ced2fb8cae7c773144bb26f747cc041de8b8bc558bdfd5c726392516f",
  "batch_runner_sha256": "beaff35ced16ba75df475c95a03b05e461d20afc00d4493abb8bb65ccdf3c39b",
  "config_same_as_batch": true,
  "change_after_canary": "Only read-only owned-child /proc command-line observation and the inaccurate self-reported default-flag description were corrected. Browser launch/context/navigation/capture/guard settings unchanged. Original exact canary code is canary-run.py; its metadata claim of enable-automation is superseded by the observed refusal and verified release source. No canary retry or mode switch.",
  "counts_relation": "One usable HTTP 200 canary excluded from 30-target batch. 31 explicit public page.goto calls total, plus ordinary redirects/browser resources. No local smoke or other benchmark tool run."
}
