{
  "schemaVersion": 1,
  "tool": "local-search-structured-data-audit",
  "runId": "6b5c4079-1c2f-4676-927c-96399f069c1a",
  "startedAt": "2026-07-24T13:41:43.053Z",
  "completedAt": "2026-07-24T13:41:44.550Z",
  "expiresAt": "2026-07-31T13:41:44.550Z",
  "siteUrl": "https://crow.sg/",
  "rulePack": {
    "id": "crow-local-search-structured-data",
    "version": "1.1.0"
  },
  "declarations": [
    {
      "id": "LOC-001",
      "declared": {
        "businessName": "Crow Tech Pte. Ltd.",
        "address": "152 Beach Road, #23-02 Gateway East, Singapore 189721",
        "phone": "+65 8453 9982",
        "url": "https://crow.sg/"
      },
      "normalized": {
        "businessName": "crow tech pte ltd",
        "address": "152 beach rd #23 02 gateway east singapore 189721",
        "phone": {
          "valid": true,
          "canonical": "+6584539982",
          "digits": "6584539982"
        },
        "url": "https://crow.sg/"
      }
    }
  ],
  "findings": [
    {
      "id": "F-5e7b292eee997b8c2d2d577b",
      "severity": "high",
      "category": "missing",
      "title": "Declared location page has no LocalBusiness entity",
      "detail": "No supported JSON-LD, Microdata, or RDFa LocalBusiness entity mapped to this declared location page.",
      "recommendation": "Publish one supported LocalBusiness entity on the declared location page with a stable URL or @id.",
      "evidenceId": "E-e05d06fb564138505b536005",
      "relatedEvidenceIds": [],
      "sourceUrl": "https://crow.sg/",
      "marker": "document/structured-data",
      "profileId": "LOC-001",
      "field": "LocalBusiness",
      "normalizedValue": "(missing)",
      "declaredValue": "Crow Tech Pte. Ltd.",
      "declaredNormalizedValue": "crow tech pte ltd",
      "ruleId": "STRUCTURED.LOCAL_BUSINESS_MISSING",
      "ruleVersion": "1.1.0"
    }
  ],
  "evidence": [
    {
      "id": "E-3e048679f15dbc6ebc701517",
      "sourceUrl": "https://crow.sg/",
      "format": "visible-text",
      "marker": "document/body-server-text",
      "rawFragmentSha256": "b43728743ac37a8197147b5c651367e2a63cfdb2abc5a9c65534395690c86cb3",
      "parseOutcome": "observed",
      "profileId": "LOC-001",
      "field": "visible-phone",
      "normalizedValue": "+6584539982",
      "declaredValue": "+65 8453 9982",
      "declaredNormalizedValue": "+6584539982",
      "ruleId": "DECLARATION.PHONE_MISMATCH",
      "outcome": "pass",
      "ruleVersion": "1.1.0"
    },
    {
      "id": "E-6c918ce4b113848ed802a3e8",
      "sourceUrl": "https://crow.sg/",
      "format": "visible-text",
      "marker": "document/body-server-text",
      "rawFragmentSha256": "b43728743ac37a8197147b5c651367e2a63cfdb2abc5a9c65534395690c86cb3",
      "parseOutcome": "observed",
      "profileId": "LOC-001",
      "field": "visible-name",
      "normalizedValue": "crow tech pte ltd",
      "declaredValue": "Crow Tech Pte. Ltd.",
      "declaredNormalizedValue": "crow tech pte ltd",
      "ruleId": "DECLARATION.NAME_MISMATCH",
      "outcome": "pass",
      "ruleVersion": "1.1.0"
    },
    {
      "id": "E-e05d06fb564138505b536005",
      "sourceUrl": "https://crow.sg/",
      "format": "page",
      "marker": "document/structured-data",
      "rawFragmentSha256": "b43728743ac37a8197147b5c651367e2a63cfdb2abc5a9c65534395690c86cb3",
      "parseOutcome": "missing",
      "profileId": "LOC-001",
      "field": "LocalBusiness",
      "normalizedValue": "(missing)",
      "declaredValue": "Crow Tech Pte. Ltd.",
      "declaredNormalizedValue": "crow tech pte ltd",
      "ruleId": "STRUCTURED.LOCAL_BUSINESS_MISSING",
      "outcome": "fail",
      "ruleVersion": "1.1.0"
    },
    {
      "id": "E-edca23d5c0646778afc84114",
      "sourceUrl": "https://crow.sg/",
      "format": "visible-text",
      "marker": "document/body-server-text",
      "rawFragmentSha256": "b43728743ac37a8197147b5c651367e2a63cfdb2abc5a9c65534395690c86cb3",
      "parseOutcome": "observed",
      "profileId": "LOC-001",
      "field": "visible-address",
      "normalizedValue": "152 beach rd #23 02 gateway east singapore 189721",
      "declaredValue": "152 Beach Road, #23-02 Gateway East, Singapore 189721",
      "declaredNormalizedValue": "152 beach rd #23 02 gateway east singapore 189721",
      "ruleId": "DECLARATION.ADDRESS_MISMATCH",
      "outcome": "pass",
      "ruleVersion": "1.1.0"
    }
  ],
  "markupBlocks": [
    {
      "id": "BLK-bd064d2a3ddf29483e47db63",
      "sourceUrl": "https://crow.sg/research/",
      "format": "json-ld",
      "marker": "document/html[1]/body[1]/main[1]/script[1]/text()",
      "rawFragmentSha256": "e31d7cb44434bdb8463782026d7ee0b9d5a1000e2a5bb18bd8946ccb6cbc8547",
      "parseOutcome": "parsed",
      "entityIds": []
    }
  ],
  "operational": [
    {
      "id": "OP-a2f864acdc4c6476cfea",
      "code": "page_cap",
      "stage": "scope",
      "detail": "The snapshotted HTML page cap was reached; remaining admitted candidates were not fetched.",
      "inconclusive": true
    },
    {
      "id": "OP-f5c5e269fd36d2833311",
      "code": "html_tree_construction",
      "stage": "parse",
      "sourceUrl": "https://crow.sg/blog/what-is-dbt-data-build-tool/",
      "detail": "HTML tree-construction semantics outside the pinned parser affected this page; Microdata, RDFa, server-text absence, and dependent negative findings were suppressed.",
      "inconclusive": true
    }
  ],
  "fragmentHashSemantics": {
    "json-ld": "SHA-256 of the complete decoded retained script text",
    "microdata": "SHA-256 of the deterministic synthesized extracted record",
    "rdfa": "SHA-256 of the deterministic synthesized extracted record",
    "page": "SHA-256 of the complete decoded retained HTML text under the pinned charset policy",
    "visible-text": "SHA-256 of the complete decoded retained HTML text under the pinned charset policy; the positive normalized phrase is derived from its bounded server-text projection"
  }
}
