{
  "version": "1.0.0",
  "base_url": "https://demo.snapthatdeal.com",
  "expected_amazon_tracking_id": "snapdemo-20",
  "summary": {
    "source_pages_expected": 5,
    "crawl_coverage_robots_excluded": 1,
    "amazon_tagged_expected": 5,
    "amazon_missing_tag": 3,
    "amazon_wrong_tag": 3,
    "amazon_blank_tag_edge_case": 1,
    "known_retailer_links": 6,
    "total_outbound_merchant_links": 18
  },
  "outbound_categories": [
    {
      "category": "Tagged / expected ID",
      "source_page": "/pages/valid-tags.html",
      "count": 4,
      "id": "snapdemo-20"
    },
    {
      "category": "Tagged / expected ID",
      "source_page": "/pages/http-lab.html",
      "count": 1,
      "id": "snapdemo-20"
    },
    {
      "category": "Missing tracking ID",
      "source_page": "/pages/tracking-issues.html",
      "count": 3
    },
    {
      "category": "Wrong tracking ID",
      "source_page": "/pages/tracking-issues.html",
      "count": 3,
      "ids": [
        "wrongdemo-20",
        "foreignid-20"
      ]
    },
    {
      "category": "Blank tracking ID (edge case)",
      "source_page": "/pages/tracking-issues.html",
      "count": 1
    },
    {
      "category": "Retailer link (unverified)",
      "source_page": "/pages/retailers.html",
      "count": 6
    }
  ],
  "internal_http_fixtures": {
    "200": "/endpoint.php?case=ok",
    "301": "/endpoint.php?case=redirect301",
    "302": "/endpoint.php?case=redirect302",
    "302 -> 301 -> 200": "/endpoint.php?case=chain",
    "redirect-loop": "/endpoint.php?case=loopa",
    "403": "/endpoint.php?case=forbidden",
    "404": "/endpoint.php?case=missing",
    "410": "/endpoint.php?case=gone",
    "429": "/endpoint.php?case=throttled",
    "500": "/endpoint.php?case=error",
    "503": "/endpoint.php?case=unavailable"
  },
  "limitations": [
    "Synthetic Amazon ASINs are intentionally fictional; merchant HTTP statuses are not predictable.",
    "Internal endpoint statuses are not guaranteed to surface in an affiliate-only link scanner.",
    "The robots-disallowed fixture is in the sitemap but should not be fetched by a compliant crawler.",
    "Correct/incorrect ID validation requires configuring the auditor expected ID snapdemo-20."
  ]
}
