{
  "dataset": "sextant-batch-1-pnw-tackle",
  "description": "Agent readiness scan results for fishing tackle retailers in British Columbia and the Pacific Northwest. Aggregate counts only. No store is identified.",
  "publishedIn": "https://sextantscan.com/journal/what-a-sector-looks-like",
  "niche": "pnw-tackle",
  "region": "British Columbia and the Pacific Northwest",
  "runDate": "2026-08-01T14:35:26.695Z",
  "sampleSize": {
    "candidatesDiscovered": 48,
    "scanned": 19,
    "excludedBeforeScoring": 29,
    "exclusionReasons": {
      "verify: only one commerce signal": 5,
      "verify: no commerce signals on the homepage": 8,
      "verify: HTTP 429 after 3 attempts": 8,
      "verify: fetch failed": 8
    }
  },
  "scores": {
    "median": 55,
    "mean": 55,
    "min": 40,
    "max": 69,
    "gradeDistribution": {
      "F": 13,
      "D": 6
    },
    "buckets": {
      "0-19": 0,
      "20-39": 0,
      "40-59": 13,
      "60-79": 6,
      "80-100": 0
    }
  },
  "categoryMedians": {
    "Discovery": 29,
    "Crawl access": 100,
    "Merchant data": 13,
    "Product schema": 64,
    "Content quality": 27
  },
  "checks": [
    {
      "id": "discovery.ucp_manifest",
      "category": "discovery",
      "pass": 0,
      "warn": 4,
      "fail": 13,
      "notApplicable": 2,
      "failureRatePercent": 100
    },
    {
      "id": "merchant.faq_schema",
      "category": "merchant_data",
      "pass": 0,
      "warn": 0,
      "fail": 19,
      "notApplicable": 0,
      "failureRatePercent": 100
    },
    {
      "id": "merchant.return_policy",
      "category": "merchant_data",
      "pass": 0,
      "warn": 7,
      "fail": 10,
      "notApplicable": 2,
      "failureRatePercent": 100
    },
    {
      "id": "merchant.shipping_details",
      "category": "merchant_data",
      "pass": 0,
      "warn": 3,
      "fail": 14,
      "notApplicable": 2,
      "failureRatePercent": 100
    },
    {
      "id": "product.aggregate_rating",
      "category": "product_schema",
      "pass": 0,
      "warn": 0,
      "fail": 10,
      "notApplicable": 9,
      "failureRatePercent": 100
    },
    {
      "id": "content.description_length",
      "category": "content_quality",
      "pass": 1,
      "warn": 3,
      "fail": 6,
      "notApplicable": 9,
      "failureRatePercent": 90
    },
    {
      "id": "content.images",
      "category": "content_quality",
      "pass": 1,
      "warn": 0,
      "fail": 9,
      "notApplicable": 9,
      "failureRatePercent": 90
    },
    {
      "id": "discovery.agents_md",
      "category": "discovery",
      "pass": 2,
      "warn": 0,
      "fail": 17,
      "notApplicable": 0,
      "failureRatePercent": 89.5
    },
    {
      "id": "discovery.llms_full_txt",
      "category": "discovery",
      "pass": 2,
      "warn": 17,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 89.5
    },
    {
      "id": "discovery.llms_txt",
      "category": "discovery",
      "pass": 2,
      "warn": 0,
      "fail": 17,
      "notApplicable": 0,
      "failureRatePercent": 89.5
    },
    {
      "id": "content.title_length",
      "category": "content_quality",
      "pass": 2,
      "warn": 6,
      "fail": 2,
      "notApplicable": 9,
      "failureRatePercent": 80
    },
    {
      "id": "product.gtin",
      "category": "product_schema",
      "pass": 2,
      "warn": 0,
      "fail": 8,
      "notApplicable": 9,
      "failureRatePercent": 80
    },
    {
      "id": "merchant.organization",
      "category": "merchant_data",
      "pass": 8,
      "warn": 0,
      "fail": 11,
      "notApplicable": 0,
      "failureRatePercent": 57.9
    },
    {
      "id": "discovery.sitemap_products",
      "category": "discovery",
      "pass": 8,
      "warn": 2,
      "fail": 7,
      "notApplicable": 2,
      "failureRatePercent": 52.9
    },
    {
      "id": "product.breadcrumbs",
      "category": "product_schema",
      "pass": 6,
      "warn": 0,
      "fail": 4,
      "notApplicable": 9,
      "failureRatePercent": 40
    },
    {
      "id": "product.offer_price",
      "category": "product_schema",
      "pass": 7,
      "warn": 0,
      "fail": 3,
      "notApplicable": 9,
      "failureRatePercent": 30
    },
    {
      "id": "product.sku",
      "category": "product_schema",
      "pass": 7,
      "warn": 0,
      "fail": 3,
      "notApplicable": 9,
      "failureRatePercent": 30
    },
    {
      "id": "discovery.sitemap",
      "category": "discovery",
      "pass": 15,
      "warn": 0,
      "fail": 4,
      "notApplicable": 0,
      "failureRatePercent": 21.1
    },
    {
      "id": "product.availability",
      "category": "product_schema",
      "pass": 8,
      "warn": 0,
      "fail": 2,
      "notApplicable": 9,
      "failureRatePercent": 20
    },
    {
      "id": "product.jsonld",
      "category": "product_schema",
      "pass": 8,
      "warn": 0,
      "fail": 2,
      "notApplicable": 9,
      "failureRatePercent": 20
    },
    {
      "id": "crawl.reachable",
      "category": "crawl_access",
      "pass": 17,
      "warn": 0,
      "fail": 2,
      "notApplicable": 0,
      "failureRatePercent": 10.5
    },
    {
      "id": "crawl.robots_present",
      "category": "crawl_access",
      "pass": 18,
      "warn": 1,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 5.3
    },
    {
      "id": "crawl.blanket_disallow",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.claudebot",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.google_extended",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.gptbot",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.https",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.oai_searchbot",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.perplexitybot",
      "category": "crawl_access",
      "pass": 19,
      "warn": 0,
      "fail": 0,
      "notApplicable": 0,
      "failureRatePercent": 0
    },
    {
      "id": "crawl.response_time",
      "category": "crawl_access",
      "pass": 17,
      "warn": 0,
      "fail": 0,
      "notApplicable": 2,
      "failureRatePercent": 0
    }
  ],
  "omitted": {
    "platformBreakdown": "Deliberately omitted, not missing. All 8 candidates lost to HTTP 429 were Shopify, which rate limits per client IP across every store it fronts, so this batch shed Shopify stores systematically. Any platform split from what survived would describe our crawler rather than the sector.",
    "storeIdentities": "Domains, business names and per store results are never published. This is sector data, not a list of who is failing."
  },
  "notes": [
    "Sample is 19 stores in one product category in one region. It does not describe ecommerce generally.",
    "Failure rate counts warnings as not passing, because a store with a prose policy page and no structured data has a real gap.",
    "Where a denominator is below the scanned count, the check did not apply to the remainder, usually because no product pages were discoverable. Those checks are excluded from scoring rather than counted as failures.",
    "Discovery used OpenStreetMap via Overpass, which only lists businesses with a physical premises, so pure online retailers are absent. One region tile (Washington) failed on this run and its area is unrepresented.",
    "Because Shopify has shipped llms.txt, agents.md and UCP support natively since May 2026, and Shopify stores were disproportionately lost to throttling, the discovery failure rates here are an upper bound rather than a point estimate.",
    "Homepage response time is scored as the median of three samples, not a single reading."
  ]
}
