{
  "observed_at": "2026-10-09T15:43:01.198945+00:00",
  "site": "https://comparetwolists.net",
  "production_commit": "01bccc32c0026d9542f9736e5300bcb5c2acec8f",
  "deployment_id": "f434b3b2-1a58-42ca-a2d0-3547d042c99e",
  "browser": "152.0.7977.65",
  "analytics": "Analytics: off · turn on",
  "expected_sha256": "3c48e8dbce9ceb1a19ae10f79bf0eaeea76d10a417c443a76c30e84d73c27c65",
  "base": {
    "observed_at": "2026-10-09T15:40:29.802Z",
    "url": "https://comparetwolists.net/?analytics_test=1",
    "browser": "152.0.7977.65",
    "analytics_disabled": "Analytics: off · turn on",
    "results": [
      {
        "id": "F01",
        "settings": {
          "trim": true,
          "ignore_case": false
        },
        "actual": {
          "only_in_A": [
            "00123",
            "Apple",
            "apple"
          ],
          "only_in_B": [
            "APPLE",
            "B-ONLY"
          ],
          "in_both": [
            "123",
            " SKU-A ",
            "广州",
            "A,B"
          ],
          "summary": "List A: 8 valid lines · 7 distinct values · 1 duplicate extra rows in 1 groups · 1 blank lines ignored\n\nList B: 6 valid lines · 6 distinct values · 0 duplicate extra rows in 0 groups · 1 blank lines ignored",
          "duplicate_sources": " SKU-A \n3 source lines\n\nCompared value above · Original source below\n\nShow next source records"
        },
        "result": "PASS"
      },
      {
        "id": "F02",
        "settings": {
          "trim": true,
          "ignore_case": true
        },
        "actual": {
          "only_in_A": [
            "00123"
          ],
          "only_in_B": [
            "B-ONLY"
          ],
          "in_both": [
            "123",
            " SKU-A ",
            "Apple",
            "广州",
            "A,B"
          ],
          "summary": "List A: 8 valid lines · 6 distinct values · 2 duplicate extra rows in 2 groups · 1 blank lines ignored\n\nList B: 6 valid lines · 6 distinct values · 0 duplicate extra rows in 0 groups · 1 blank lines ignored"
        },
        "result": "PASS"
      },
      {
        "id": "F03",
        "settings": {
          "trim": false,
          "ignore_case": false
        },
        "actual": {
          "only_in_A": [
            "00123",
            " SKU-A ",
            "Apple",
            "apple",
            "A,B"
          ],
          "only_in_B": [
            "APPLE",
            "B-ONLY",
            " A,B "
          ],
          "in_both": [
            "123",
            "SKU-A",
            "广州"
          ],
          "summary": "List A: 8 valid lines · 8 distinct values · 0 duplicate extra rows in 0 groups · 1 blank lines ignored\n\nList B: 6 valid lines · 6 distinct values · 0 duplicate extra rows in 0 groups · 1 blank lines ignored"
        },
        "result": "PASS"
      },
      {
        "id": "TEXT_IDS",
        "settings": {
          "trim": true,
          "ignore_case": false
        },
        "actual": {
          "only_in_A": [
            "00123",
            "00012345678901234567890"
          ],
          "only_in_B": [
            "12345678901234567891"
          ],
          "in_both": [
            "123",
            "12345678901234567890"
          ],
          "summary": "List A: 4 valid lines · 4 distinct values · 0 duplicate extra rows in 0 groups · 0 blank lines ignored\n\nList B: 3 valid lines · 3 distinct values · 0 duplicate extra rows in 0 groups · 0 blank lines ignored"
        },
        "result": "PASS"
      }
    ],
    "settings_invalidated": {
      "copy_disabled": true,
      "save_hidden": true,
      "status": "Inputs or rules changed. Compare again to update your results."
    },
    "input_invalidated": {
      "copy_disabled": true,
      "save_hidden": true,
      "status": "Inputs changed. Previous results are out of date. Input updated. Compare when ready."
    }
  },
  "imports": {
    "observed_at": "2026-10-09T15:42:59.398Z",
    "results": [
      {
        "format": "csv",
        "imported": [
          {
            "side": "a",
            "format": "csv",
            "sheet": null,
            "column": "ID (second column)",
            "header": true
          },
          {
            "side": "b",
            "format": "csv",
            "sheet": null,
            "column": "ID (second column)",
            "header": true
          }
        ],
        "actual": {
          "only_in_A": [
            "00123",
            "Apple",
            "apple"
          ],
          "only_in_B": [
            "APPLE",
            "B-ONLY"
          ],
          "in_both": [
            "123",
            " SKU-A ",
            "广州",
            "A,B"
          ],
          "first_source": "00123\n1 source lines\n\nCompared value above · Original source below\n\nCSV record 2, column 2: 00123\nApple\n1 source lines\napple\n1 source lines"
        },
        "result": "PASS"
      },
      {
        "format": "xlsx",
        "imported": [
          {
            "side": "a",
            "format": "xlsx",
            "sheet": "AInputs",
            "column": "ID (second column)",
            "header": true
          },
          {
            "side": "b",
            "format": "xlsx",
            "sheet": "BInputs",
            "column": "ID (second column)",
            "header": true
          }
        ],
        "actual": {
          "only_in_A": [
            "00123",
            "Apple",
            "apple"
          ],
          "only_in_B": [
            "APPLE",
            "B-ONLY"
          ],
          "in_both": [
            "123",
            " SKU-A ",
            "广州",
            "A,B"
          ],
          "first_source": "00123\n1 source lines\n\nCompared value above · Original source below\n\nAInputs, cell B2: 00123\nApple\n1 source lines\napple\n1 source lines"
        },
        "result": "PASS"
      }
    ]
  },
  "exports": {
    "observed_at": "2026-10-09T15:40:03.649Z",
    "id": "EXPORT_250",
    "groups": [
      {
        "group": "only_in_A",
        "count": 125,
        "preview_rows": 100,
        "copied_values": [
          "ITEM0001",
          "ITEM0002",
          "ITEM0003",
          "ITEM0004",
          "ITEM0005",
          "ITEM0006",
          "ITEM0007",
          "ITEM0008",
          "ITEM0009",
          "ITEM0010",
          "ITEM0011",
          "ITEM0012",
          "ITEM0013",
          "ITEM0014",
          "ITEM0015",
          "ITEM0016",
          "ITEM0017",
          "ITEM0018",
          "ITEM0019",
          "ITEM0020",
          "ITEM0021",
          "ITEM0022",
          "ITEM0023",
          "ITEM0024",
          "ITEM0025",
          "ITEM0026",
          "ITEM0027",
          "ITEM0028",
          "ITEM0029",
          "ITEM0030",
          "ITEM0031",
          "ITEM0032",
          "ITEM0033",
          "ITEM0034",
          "ITEM0035",
          "ITEM0036",
          "ITEM0037",
          "ITEM0038",
          "ITEM0039",
          "ITEM0040",
          "ITEM0041",
          "ITEM0042",
          "ITEM0043",
          "ITEM0044",
          "ITEM0045",
          "ITEM0046",
          "ITEM0047",
          "ITEM0048",
          "ITEM0049",
          "ITEM0050",
          "ITEM0051",
          "ITEM0052",
          "ITEM0053",
          "ITEM0054",
          "ITEM0055",
          "ITEM0056",
          "ITEM0057",
          "ITEM0058",
          "ITEM0059",
          "ITEM0060",
          "ITEM0061",
          "ITEM0062",
          "ITEM0063",
          "ITEM0064",
          "ITEM0065",
          "ITEM0066",
          "ITEM0067",
          "ITEM0068",
          "ITEM0069",
          "ITEM0070",
          "ITEM0071",
          "ITEM0072",
          "ITEM0073",
          "ITEM0074",
          "ITEM0075",
          "ITEM0076",
          "ITEM0077",
          "ITEM0078",
          "ITEM0079",
          "ITEM0080",
          "ITEM0081",
          "ITEM0082",
          "ITEM0083",
          "ITEM0084",
          "ITEM0085",
          "ITEM0086",
          "ITEM0087",
          "ITEM0088",
          "ITEM0089",
          "ITEM0090",
          "ITEM0091",
          "ITEM0092",
          "ITEM0093",
          "ITEM0094",
          "ITEM0095",
          "ITEM0096",
          "ITEM0097",
          "ITEM0098",
          "ITEM0099",
          "ITEM0100",
          "ITEM0101",
          "ITEM0102",
          "ITEM0103",
          "ITEM0104",
          "ITEM0105",
          "ITEM0106",
          "ITEM0107",
          "ITEM0108",
          "ITEM0109",
          "ITEM0110",
          "ITEM0111",
          "ITEM0112",
          "ITEM0113",
          "ITEM0114",
          "ITEM0115",
          "ITEM0116",
          "ITEM0117",
          "ITEM0118",
          "ITEM0119",
          "ITEM0120",
          "ITEM0121",
          "ITEM0122",
          "ITEM0123",
          "ITEM0124",
          "ITEM0125"
        ],
        "copy_matches": true,
        "files": [
          {
            "file": "observed-onlyInA.txt",
            "suggested_name": "only-in-a.txt"
          },
          {
            "file": "observed-onlyInA.csv",
            "suggested_name": "only-in-a.csv"
          }
        ]
      },
      {
        "group": "only_in_B",
        "count": 125,
        "preview_rows": 100,
        "copied_values": [
          "ITEM0251",
          "ITEM0252",
          "ITEM0253",
          "ITEM0254",
          "ITEM0255",
          "ITEM0256",
          "ITEM0257",
          "ITEM0258",
          "ITEM0259",
          "ITEM0260",
          "ITEM0261",
          "ITEM0262",
          "ITEM0263",
          "ITEM0264",
          "ITEM0265",
          "ITEM0266",
          "ITEM0267",
          "ITEM0268",
          "ITEM0269",
          "ITEM0270",
          "ITEM0271",
          "ITEM0272",
          "ITEM0273",
          "ITEM0274",
          "ITEM0275",
          "ITEM0276",
          "ITEM0277",
          "ITEM0278",
          "ITEM0279",
          "ITEM0280",
          "ITEM0281",
          "ITEM0282",
          "ITEM0283",
          "ITEM0284",
          "ITEM0285",
          "ITEM0286",
          "ITEM0287",
          "ITEM0288",
          "ITEM0289",
          "ITEM0290",
          "ITEM0291",
          "ITEM0292",
          "ITEM0293",
          "ITEM0294",
          "ITEM0295",
          "ITEM0296",
          "ITEM0297",
          "ITEM0298",
          "ITEM0299",
          "ITEM0300",
          "ITEM0301",
          "ITEM0302",
          "ITEM0303",
          "ITEM0304",
          "ITEM0305",
          "ITEM0306",
          "ITEM0307",
          "ITEM0308",
          "ITEM0309",
          "ITEM0310",
          "ITEM0311",
          "ITEM0312",
          "ITEM0313",
          "ITEM0314",
          "ITEM0315",
          "ITEM0316",
          "ITEM0317",
          "ITEM0318",
          "ITEM0319",
          "ITEM0320",
          "ITEM0321",
          "ITEM0322",
          "ITEM0323",
          "ITEM0324",
          "ITEM0325",
          "ITEM0326",
          "ITEM0327",
          "ITEM0328",
          "ITEM0329",
          "ITEM0330",
          "ITEM0331",
          "ITEM0332",
          "ITEM0333",
          "ITEM0334",
          "ITEM0335",
          "ITEM0336",
          "ITEM0337",
          "ITEM0338",
          "ITEM0339",
          "ITEM0340",
          "ITEM0341",
          "ITEM0342",
          "ITEM0343",
          "ITEM0344",
          "ITEM0345",
          "ITEM0346",
          "ITEM0347",
          "ITEM0348",
          "ITEM0349",
          "ITEM0350",
          "ITEM0351",
          "ITEM0352",
          "ITEM0353",
          "ITEM0354",
          "ITEM0355",
          "ITEM0356",
          "ITEM0357",
          "ITEM0358",
          "ITEM0359",
          "ITEM0360",
          "ITEM0361",
          "ITEM0362",
          "ITEM0363",
          "ITEM0364",
          "ITEM0365",
          "ITEM0366",
          "ITEM0367",
          "ITEM0368",
          "ITEM0369",
          "ITEM0370",
          "ITEM0371",
          "ITEM0372",
          "ITEM0373",
          "ITEM0374",
          "ITEM0375"
        ],
        "copy_matches": true,
        "files": [
          {
            "file": "observed-onlyInB.txt",
            "suggested_name": "only-in-b.txt"
          },
          {
            "file": "observed-onlyInB.csv",
            "suggested_name": "only-in-b.csv"
          }
        ]
      },
      {
        "group": "in_both",
        "count": 125,
        "preview_rows": 0,
        "copied_values": [
          "ITEM0126",
          "ITEM0127",
          "ITEM0128",
          "ITEM0129",
          "ITEM0130",
          "ITEM0131",
          "ITEM0132",
          "ITEM0133",
          "ITEM0134",
          "ITEM0135",
          "ITEM0136",
          "ITEM0137",
          "ITEM0138",
          "ITEM0139",
          "ITEM0140",
          "ITEM0141",
          "ITEM0142",
          "ITEM0143",
          "ITEM0144",
          "ITEM0145",
          "ITEM0146",
          "ITEM0147",
          "ITEM0148",
          "ITEM0149",
          "ITEM0150",
          "ITEM0151",
          "ITEM0152",
          "ITEM0153",
          "ITEM0154",
          "ITEM0155",
          "ITEM0156",
          "ITEM0157",
          "ITEM0158",
          "ITEM0159",
          "ITEM0160",
          "ITEM0161",
          "ITEM0162",
          "ITEM0163",
          "ITEM0164",
          "ITEM0165",
          "ITEM0166",
          "ITEM0167",
          "ITEM0168",
          "ITEM0169",
          "ITEM0170",
          "ITEM0171",
          "ITEM0172",
          "ITEM0173",
          "ITEM0174",
          "ITEM0175",
          "ITEM0176",
          "ITEM0177",
          "ITEM0178",
          "ITEM0179",
          "ITEM0180",
          "ITEM0181",
          "ITEM0182",
          "ITEM0183",
          "ITEM0184",
          "ITEM0185",
          "ITEM0186",
          "ITEM0187",
          "ITEM0188",
          "ITEM0189",
          "ITEM0190",
          "ITEM0191",
          "ITEM0192",
          "ITEM0193",
          "ITEM0194",
          "ITEM0195",
          "ITEM0196",
          "ITEM0197",
          "ITEM0198",
          "ITEM0199",
          "ITEM0200",
          "ITEM0201",
          "ITEM0202",
          "ITEM0203",
          "ITEM0204",
          "ITEM0205",
          "ITEM0206",
          "ITEM0207",
          "ITEM0208",
          "ITEM0209",
          "ITEM0210",
          "ITEM0211",
          "ITEM0212",
          "ITEM0213",
          "ITEM0214",
          "ITEM0215",
          "ITEM0216",
          "ITEM0217",
          "ITEM0218",
          "ITEM0219",
          "ITEM0220",
          "ITEM0221",
          "ITEM0222",
          "ITEM0223",
          "ITEM0224",
          "ITEM0225",
          "ITEM0226",
          "ITEM0227",
          "ITEM0228",
          "ITEM0229",
          "ITEM0230",
          "ITEM0231",
          "ITEM0232",
          "ITEM0233",
          "ITEM0234",
          "ITEM0235",
          "ITEM0236",
          "ITEM0237",
          "ITEM0238",
          "ITEM0239",
          "ITEM0240",
          "ITEM0241",
          "ITEM0242",
          "ITEM0243",
          "ITEM0244",
          "ITEM0245",
          "ITEM0246",
          "ITEM0247",
          "ITEM0248",
          "ITEM0249",
          "ITEM0250"
        ],
        "copy_matches": true,
        "files": [
          {
            "file": "observed-inBoth.txt",
            "suggested_name": "in-both.txt"
          },
          {
            "file": "observed-inBoth.csv",
            "suggested_name": "in-both.csv"
          }
        ]
      }
    ],
    "workbook": "observed-all-groups.xlsx",
    "status": "XLSX download started. The file is ready; use Save file to save again. On iPhone, use the share menu to Save to Files if a preview opens."
  },
  "re_read_checks": [
    {
      "id": "F01",
      "result": "PASS",
      "groups": {
        "only_in_A": 3,
        "only_in_B": 2,
        "in_both": 4
      }
    },
    {
      "id": "F02",
      "result": "PASS",
      "groups": {
        "only_in_A": 1,
        "only_in_B": 1,
        "in_both": 5
      }
    },
    {
      "id": "F03",
      "result": "PASS",
      "groups": {
        "only_in_A": 5,
        "only_in_B": 3,
        "in_both": 3
      }
    },
    {
      "id": "TEXT_IDS",
      "result": "PASS",
      "groups": {
        "only_in_A": 2,
        "only_in_B": 1,
        "in_both": 2
      }
    },
    {
      "id": "export-onlyInA",
      "result": "PASS",
      "copied_items": 125,
      "txt_items": 125,
      "csv_data_rows": 125,
      "xlsx_data_rows": 125
    },
    {
      "id": "export-onlyInB",
      "result": "PASS",
      "copied_items": 125,
      "txt_items": 125,
      "csv_data_rows": 125,
      "xlsx_data_rows": 125
    },
    {
      "id": "export-inBoth",
      "result": "PASS",
      "copied_items": 125,
      "txt_items": 125,
      "csv_data_rows": 125,
      "xlsx_data_rows": 125
    }
  ],
  "xlsx_base_identifier": {
    "value": "00123",
    "type": "s",
    "cell": "A2"
  },
  "limitations": [
    "Synthetic inputs only; no real customer data.",
    "Unicode normalization, formatted numeric cells, formulas, hidden rows and full-workbook reconciliation were not tested.",
    "One online tool tested; self-owned, not an independent ranking.",
    "Excel route is official-document review only. Microsoft Excel is installed, but native app control is disabled in this session; no verified live workbook is available.",
    "Initial automation read transient empty rows before asynchronous rendering. Original logs retained; explicit visible-row/source waits passed with unchanged expected values.",
    "Existing Cloudflare beacon blocked by site CSP; unrelated to comparison and not changed."
  ]
}
