{
  "summary": {
    "generatedAt": "2026-09-01T08:45:40.172Z",
    "environment": "https://mpbenddev.conversionbox.io",
    "rankingVersion": "2026-08-30-stage9",
    "expectedRankingVersion": "2026-08-30-stage9",
    "versionMatch": true,
    "totalWorkbookCases": 191,
    "pass": 54,
    "fail": 5,
    "blocked": 11,
    "manual": 121,
    "criticalPass": 46,
    "criticalTotal": 113,
    "demoPass": 19,
    "demoTotal": 25,
    "readyForManualSignoff": false
  },
  "cases": [
    {
      "sheet": "Functional QA",
      "id": "TC-001",
      "module": "Exact Product Search",
      "priority": "Critical",
      "input": "FDC-66",
      "expected": "FDC-66 appears at Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "FDC-66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-002",
      "module": "Exact Product Search",
      "priority": "Critical",
      "input": "fdc-66",
      "expected": "FDC-66 appears at Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "fdc-66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-003",
      "module": "Exact Product Search",
      "priority": "Critical",
      "input": "fdc66",
      "expected": "FDC-66 appears at Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "fdc66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-004",
      "module": "Exact Product Search",
      "priority": "Critical",
      "input": "811490017801",
      "expected": "FDC-66 appears at Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "811490017801",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-005",
      "module": "Exact Product Search",
      "priority": "Critical",
      "input": "Fiber Stripper & Scissors Kit",
      "expected": "Exact matching product appears at Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = TK-375",
      "query": "Fiber Stripper & Scissors Kit",
      "top5": "1:TK-375",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-006",
      "module": "Exact Product Search",
      "priority": "High",
      "input": "Modify one character in a known valid SKU",
      "expected": "Search must not incorrectly treat another product as an exact SKU match.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-007",
      "module": "Exact Product Search",
      "priority": "Critical",
      "input": "Use any known valid SKU with related products",
      "expected": "Exact SKU stays above related, fuzzy, semantic, and merchandising results.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-008",
      "module": "Spacing & Compound",
      "priority": "Critical",
      "input": "screwdriver",
      "expected": "Relevant screwdriver products are returned.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "screwdriver",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-009",
      "module": "Spacing & Compound",
      "priority": "Critical",
      "input": "screw driver",
      "expected": "Search intent remains consistent with 'screwdriver'.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "screw driver",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-010",
      "module": "Spacing & Compound",
      "priority": "High",
      "input": "fishtape",
      "expected": "Relevant fish tape products are returned.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FTS-240",
      "query": "fishtape",
      "top5": "1:FTS-240, 2:FTF-1125, 3:FTS-50, 4:JIC-685, 5:FTS-240",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-011",
      "module": "Spacing & Compound",
      "priority": "High",
      "input": "fish tape",
      "expected": "Search intent remains consistent with 'fishtape'.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FTS-240",
      "query": "fish tape",
      "top5": "1:FTS-240, 2:FTF-1125, 3:FTS-50, 4:JIC-685, 5:FTS-240",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-012",
      "module": "Spacing & Compound",
      "priority": "Medium",
      "input": "Screw Driver",
      "expected": "Results remain consistent with the lowercase query.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "Screw Driver",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-013",
      "module": "Spacing & Compound",
      "priority": "Medium",
      "input": "screw   driver",
      "expected": "Extra spaces do not break search intent or relevant results.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "screw   driver",
      "top5": "1:SDP-2, 2:SD-61, 3:SPK-100, 4:SDC-3810, 5:SDP-1",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-014",
      "module": "Singular & Plural",
      "priority": "High",
      "input": "connector",
      "expected": "Relevant connector products are returned.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCC-125",
      "query": "connector",
      "top5": "1:FCC-125, 2:JIC-891, 3:FCT-100, 4:TK-151, 5:PAB-CG",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-015",
      "module": "Singular & Plural",
      "priority": "High",
      "input": "connectors",
      "expected": "Relevant connector products are returned with consistent intent.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=CTF-200",
      "query": "connectors",
      "top5": "1:CTF-200, 2:TK-82, 3:FCT-100, 4:FLS-50, 5:RJ45-625",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-016",
      "module": "Singular & Plural",
      "priority": "High",
      "input": "stripper",
      "expected": "Relevant stripper tools are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-017",
      "module": "Singular & Plural",
      "priority": "High",
      "input": "strippers",
      "expected": "Relevant stripper tools are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-018",
      "module": "Singular & Plural",
      "priority": "Medium",
      "input": "cutter",
      "expected": "Relevant cutting tools are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-019",
      "module": "Singular & Plural",
      "priority": "Medium",
      "input": "cutters",
      "expected": "Relevant cutting tools are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-020",
      "module": "Typo Handling",
      "priority": "High",
      "input": "conector",
      "expected": "Connector intent is recovered and relevant products are returned.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=CTF-200",
      "query": "conector",
      "top5": "1:CTF-200, 2:FCC-125, 3:JIC-891, 4:TK-82, 5:FCT-100",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-021",
      "module": "Typo Handling",
      "priority": "High",
      "input": "scredriver",
      "expected": "Screwdriver intent is recovered and relevant products are returned.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "scredriver",
      "top5": "1:SDP-2, 2:SD-61, 3:SPK-100, 4:SDC-3810, 5:SDP-1",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-022",
      "module": "Typo Handling",
      "priority": "Medium",
      "input": "instalation",
      "expected": "Correct intended search results are returned where catalog evidence supports it.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-023",
      "module": "Typo Handling",
      "priority": "Medium",
      "input": "voltfiel",
      "expected": "Relevant intended Voltlife/family results are returned when identifiable.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "Voltlife taxonomy VERIFY incomplete (catalog evaluateLive=false)",
      "query": "",
      "top5": "",
      "manualAction": ""
    },
    {
      "sheet": "Functional QA",
      "id": "TC-024",
      "module": "Typo Handling",
      "priority": "High",
      "input": "Use a clearly ambiguous misspelling",
      "expected": "Search must not confidently return unrelated products.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-025",
      "module": "Typo Handling",
      "priority": "Critical",
      "input": "Modify one character in a known SKU",
      "expected": "Search must not incorrectly convert the typo into an unrelated exact SKU.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-026",
      "module": "Synonyms & Wording",
      "priority": "Critical",
      "input": "fiber disposal",
      "expected": "FDC-66 / Fiber Disposal is highly relevant.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 in top 5: [FDC-66]",
      "query": "fiber disposal",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-027",
      "module": "Synonyms & Wording",
      "priority": "Critical",
      "input": "fiber scraps",
      "expected": "Relevant Fiber Disposal product is highly ranked.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 in top 5: [FDC-66, FWM-2214]",
      "query": "fiber scraps",
      "top5": "1:FDC-66, 2:FWM-2214",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-028",
      "module": "Synonyms & Wording",
      "priority": "Critical",
      "input": "fiber trash can",
      "expected": "FDC-66 / Fiber Disposal is returned as a highly relevant result.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "fiber trash can",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-029",
      "module": "Synonyms & Wording",
      "priority": "Critical",
      "input": "fiber trash",
      "expected": "Correct fiber disposal intent is recognized.",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "FDC-66 not in top 5: [FC-600, FSK-5]",
      "query": "fiber trash",
      "top5": "1:FC-600, 2:FSK-5",
      "manualAction": ""
    },
    {
      "sheet": "Functional QA",
      "id": "TC-030",
      "module": "Synonyms & Wording",
      "priority": "High",
      "input": "trash disposal scrap waste",
      "expected": "Relevant Fiber Disposal product/family is found.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-031",
      "module": "Synonyms & Wording",
      "priority": "High",
      "input": "fiber can",
      "expected": "Fiber Disposal result is highly relevant.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-032",
      "module": "Synonyms & Wording",
      "priority": "High",
      "input": "Use another approved product terminology variation",
      "expected": "Correct product family remains relevant.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-033",
      "module": "Category / Series",
      "priority": "Critical",
      "input": "Fiber",
      "expected": "Search is scoped to the correct Fiber product set.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "query": "fiber",
      "top5": "1:JIC-375, 2:FOD-2000, 3:VFL-150, 4:MS-6, 5:OFI-100",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-034",
      "module": "Category / Series",
      "priority": "Critical",
      "input": "Fiber",
      "expected": "Unrelated non-Fiber products are absent from the high-confidence scoped result set.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "query": "fiber",
      "top5": "1:JIC-375, 2:FOD-2000, 3:VFL-150, 4:MS-6, 5:OFI-100",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-035",
      "module": "Category / Series",
      "priority": "High",
      "input": "Fiber",
      "expected": "Products marked New appear before normal products within the scoped set.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-036",
      "module": "Category / Series",
      "priority": "High",
      "input": "Fiber",
      "expected": "Products are shown directly and no unnecessary category card is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-037",
      "module": "Category / Series",
      "priority": "Critical",
      "input": "Voltlife",
      "expected": "Voltlife products are shown as the intended product set.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "Voltlife taxonomy VERIFY incomplete",
      "query": "",
      "top5": "",
      "manualAction": ""
    },
    {
      "sheet": "Functional QA",
      "id": "TC-038",
      "module": "Category / Series",
      "priority": "High",
      "input": "Use a verified Jonard subcategory name",
      "expected": "Products from that subcategory are prioritized/scoped correctly.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-039",
      "module": "Category / Series",
      "priority": "High",
      "input": "Use a term that can map to multiple meanings",
      "expected": "Search must not incorrectly hard-filter to one unrelated category.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-040",
      "module": "Product Type",
      "priority": "Critical",
      "input": "electrical connector tools",
      "expected": "Actual tools rank above standalone connectors/components.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=R-5926",
      "query": "electrical connector tools",
      "top5": "1:R-5926, 2:CMP-1226, 3:AR-910672, 4:R-4601, 5:R-4602",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-041",
      "module": "Product Type",
      "priority": "High",
      "input": "electrical connector",
      "expected": "Connector/component results may appropriately appear for this query.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-042",
      "module": "Product Type",
      "priority": "Critical",
      "input": "Compare 'electrical connector tools' vs 'electrical connector'",
      "expected": "Adding 'tools' meaningfully changes ranking toward actual tools.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-043",
      "module": "Product Type",
      "priority": "Critical",
      "input": "Use a verified tool-related query",
      "expected": "Relevant tools rank above unrelated merchandise.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-044",
      "module": "Product Type",
      "priority": "Critical",
      "input": "Use a verified tool term that also matches merchandise",
      "expected": "Merchandise does not outrank a qualified tool.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-045",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "insertion tool",
      "expected": "Insertion-capable products rank above removal-only products.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCT-100",
      "query": "fiber insertion tool",
      "top5": "1:FCT-100, 2:FCT-200, 3:FW-50, 4:DW-90, 5:RFS-100",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-046",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "inserter tool",
      "expected": "Insertion intent is recognized consistently.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-047",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "removal tool",
      "expected": "Removal-capable products are prioritized.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCT-100",
      "query": "fiber removal tool",
      "top5": "1:FCT-100, 2:FCT-200, 3:FS-1416, 4:FW-50, 5:DW-90",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-048",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "cable pulling tools",
      "expected": "Products designed for pulling cable are prioritized.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Top 4 OK: [CP-475, ROD-3316, MP-700, FTF-1125]",
      "query": "cable pulling tools",
      "top5": "1:CP-475, 2:ROD-3316, 3:MP-700, 4:FTF-1125, 5:JIC-3209",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-049",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "wire pulling rollers",
      "expected": "Relevant wire/cable pulling rollers are found.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=ROD-3316",
      "query": "wire pulling tools",
      "top5": "1:ROD-3316, 2:MP-700, 3:FTF-1125, 4:JIC-3209, 5:MP-400",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-050",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "fiber optic stripper",
      "expected": "Actual stripping tools are prioritized.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-051",
      "module": "Functional Intent",
      "priority": "High",
      "input": "fiber cutting shears",
      "expected": "Relevant cutting/shearing products are prioritized.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-052",
      "module": "Functional Intent",
      "priority": "High",
      "input": "fiber tester",
      "expected": "Relevant testing products are prioritized.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-053",
      "module": "Functional Intent",
      "priority": "High",
      "input": "fiber cleaning tool",
      "expected": "Relevant cleaning products are prioritized.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-054",
      "module": "Functional Intent",
      "priority": "Critical",
      "input": "Use an insertion query that also text-matches removal products",
      "expected": "Removal-only products must not outrank proper insertion tools.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-055",
      "module": "Kit vs Individual",
      "priority": "Critical",
      "input": "fiber prep kit",
      "expected": "Relevant kit products are prioritized.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-056",
      "module": "Kit vs Individual",
      "priority": "High",
      "input": "fiber stripper kit",
      "expected": "Relevant kit products are prioritized.",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "Only 3 products (need 5)",
      "query": "fiber stripper kit",
      "top5": "1:TK-375, 2:TK-355, 3:TK-350",
      "manualAction": ""
    },
    {
      "sheet": "Functional QA",
      "id": "TC-057",
      "module": "Kit vs Individual",
      "priority": "Critical",
      "input": "fiber optic stripper",
      "expected": "Individual stripping tool ranks above kits containing the tool.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-058",
      "module": "Kit vs Individual",
      "priority": "Critical",
      "input": "Use exact SKU of a known individual product",
      "expected": "Exact individual product appears at Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = JIC-375",
      "query": "JIC-375",
      "top5": "1:JIC-375",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-059",
      "module": "Kit vs Individual",
      "priority": "Critical",
      "input": "Search an individual component name that is also present in a kit description",
      "expected": "Kit does not incorrectly outrank the actual individual product.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-060",
      "module": "Kit vs Individual",
      "priority": "High",
      "input": "Use a verified query containing 'set'",
      "expected": "Product-set intent is respected.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-061",
      "module": "Natural Language",
      "priority": "Critical",
      "input": "tool to strip 900 micron fiber",
      "expected": "Correct qualified stripping product/family is highly ranked.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "7 products; top1=JIC-375",
      "query": "tool to strip 900 micron fiber",
      "top5": "1:JIC-375, 2:TK-121, 3:TK-170, 4:TK-121B, 5:TK-375",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-062",
      "module": "Natural Language",
      "priority": "Critical",
      "input": "I need to remove coating from 900 micron fiber",
      "expected": "Search resolves to the same correct functional/product intent.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-063",
      "module": "Natural Language",
      "priority": "High",
      "input": "what tool should I use to strip fiber",
      "expected": "Relevant Jonard stripping products are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-064",
      "module": "Natural Language",
      "priority": "High",
      "input": "tool for pulling wire through conduit",
      "expected": "Appropriate wire/cable pulling products are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-065",
      "module": "Natural Language",
      "priority": "Critical",
      "input": "what can I use for fiber scraps",
      "expected": "Fiber Disposal product/family is returned.",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "FDC-66 not in top 8: []",
      "query": "what can I use for fiber scraps",
      "top5": "",
      "manualAction": ""
    },
    {
      "sheet": "Functional QA",
      "id": "TC-066",
      "module": "Natural Language",
      "priority": "High",
      "input": "Use a realistic job sentence with some non-essential words",
      "expected": "Important shopper intent is still recognized.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-067",
      "module": "Natural Language",
      "priority": "Critical",
      "input": "Use a need with no suitable Jonard product",
      "expected": "Search does not confidently return obviously irrelevant products.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-068",
      "module": "Semantic Safety",
      "priority": "Critical",
      "input": "Use a query with both a correct-category and semantically similar wrong-category candidate",
      "expected": "Wrong-category semantic result does not outrank the qualified correct-category product.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-069",
      "module": "Semantic Safety",
      "priority": "Critical",
      "input": "Use an individual-tool query where a kit is semantically similar",
      "expected": "Individual product wins.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-070",
      "module": "Semantic Safety",
      "priority": "Critical",
      "input": "Use a query where an opposite-function product is semantically similar",
      "expected": "Correct-function product wins.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-071",
      "module": "Semantic Safety",
      "priority": "Critical",
      "input": "Use an exact SKU with semantically similar alternatives",
      "expected": "Exact SKU stays Rank 1.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "FDC-66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-072",
      "module": "Semantic Safety",
      "priority": "Critical",
      "input": "Use an exact product title",
      "expected": "Exact title stays above semantic alternatives.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = TK-375",
      "query": "Fiber Stripper & Scissors Kit",
      "top5": "1:TK-375",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-073",
      "module": "Semantic Safety",
      "priority": "Critical",
      "input": "Temporarily disable/simulate semantic failure",
      "expected": "Normal keyword/exact search continues working without shopper-facing failure.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires engineering simulation; NL smoke passed in Stage 9",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-074",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use a SKU that also loosely matches another title",
      "expected": "Exact SKU wins.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-075",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use exact title with competing synonym-based candidates",
      "expected": "Exact title wins.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-076",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use exact category term with semantic cross-category candidates",
      "expected": "Correct category products win.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-077",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use a tool-intent query that also matches merchandise",
      "expected": "Qualified tool wins.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-078",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use a query matching both active and discontinued products",
      "expected": "Active product wins.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-079",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use an exact product query where another item is merchandised",
      "expected": "Exact match remains protected.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-080",
      "module": "Ranking Priority",
      "priority": "Critical",
      "input": "Use a query with a popular but less relevant product",
      "expected": "Protected exact/relevant result wins.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-081",
      "module": "New Products",
      "priority": "High",
      "input": "Fiber",
      "expected": "New Fiber products appear first within the correct scoped set.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-082",
      "module": "New Products",
      "priority": "High",
      "input": "Use a Featured-only item and a New item in the same category",
      "expected": "Featured-only item is not automatically treated as New.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-083",
      "module": "New Products",
      "priority": "Critical",
      "input": "Use a discontinued product also marked New",
      "expected": "Active-before-discontinued rule still applies.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-084",
      "module": "Competitor Search",
      "priority": "Critical",
      "input": "Use a configured competitor SKU",
      "expected": "Approved Jonard equivalent is returned.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "2 products; top1=TK-375",
      "query": "32-60-375",
      "top5": "1:TK-375, 2:TK-350",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-085",
      "module": "Competitor Search",
      "priority": "Critical",
      "input": "Use competitor SKU mapped to multiple Jonard products",
      "expected": "Primary/best-fit Jonard product is first.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-086",
      "module": "Competitor Search",
      "priority": "High",
      "input": "Use competitor SKU whose primary Jonard product has variations",
      "expected": "Variations follow the primary product.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-087",
      "module": "Competitor Search",
      "priority": "High",
      "input": "Use competitor SKU with related Jonard products",
      "expected": "Related products follow primary/variations.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-088",
      "module": "Competitor Search",
      "priority": "Critical",
      "input": "Enter a competitor SKU in autocomplete",
      "expected": "Competitor identifier is not displayed publicly.",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "field_competitor_part_no in response",
      "query": "32-60-375",
      "top5": "1:TK-375, 2:TK-350",
      "manualAction": ""
    },
    {
      "sheet": "Functional QA",
      "id": "TC-089",
      "module": "Competitor Search",
      "priority": "Critical",
      "input": "Search a competitor SKU",
      "expected": "Shopper sees Jonard product information only.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-090",
      "module": "Competitor Search",
      "priority": "Critical",
      "input": "Inspect shopper-facing UI/API response for competitor query",
      "expected": "Competitor identifier is not exposed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-091",
      "module": "Competitor Search",
      "priority": "Critical",
      "input": "Use competitor SKU with no approved alternative",
      "expected": "Closest qualified Jonard option plus Request a Tool is offered.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-092",
      "module": "Competitor Search",
      "priority": "High",
      "input": "Enter competitor SKU as a normal storefront user",
      "expected": "Lookup works without requiring a special search mode.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-093",
      "module": "Replacement / Discontinued",
      "priority": "Critical",
      "input": "Use a verified discontinued SKU with replacement",
      "expected": "Active replacement appears first.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-094",
      "module": "Replacement / Discontinued",
      "priority": "Critical",
      "input": "Same verified discontinued SKU",
      "expected": "Discontinued original may appear below the replacement.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-095",
      "module": "Replacement / Discontinued",
      "priority": "Critical",
      "input": "Use a query matching equivalent active and discontinued products",
      "expected": "Active item appears first.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-096",
      "module": "Replacement / Discontinued",
      "priority": "Critical",
      "input": "Use discontinued product without replacement",
      "expected": "System does not fabricate a replacement.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-097",
      "module": "Replacement / Discontinued",
      "priority": "Critical",
      "input": "Use a discontinued product with merchandising boost",
      "expected": "It does not outrank the correct active replacement.",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-098",
      "module": "Variations / Related",
      "priority": "High",
      "input": "Use a verified product with Commerce variations",
      "expected": "Primary product appears first.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-099",
      "module": "Variations / Related",
      "priority": "High",
      "input": "Use same verified product",
      "expected": "Actual variations are ordered correctly after the primary.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-100",
      "module": "Variations / Related",
      "priority": "Medium",
      "input": "Use a product with verified family relationships",
      "expected": "Family products follow the intended relationship order.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-101",
      "module": "Variations / Related",
      "priority": "Medium",
      "input": "Use a product with related accessories",
      "expected": "Related items appear after stronger product relationships.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-102",
      "module": "Variations / Related",
      "priority": "High",
      "input": "Use a relationship field entry that is not a Commerce variation",
      "expected": "It is not incorrectly represented as a variation.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-103",
      "module": "Autocomplete",
      "priority": "Critical",
      "input": "s",
      "expected": "Suggestions are eligible from one character.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=COPY KN-300INS",
      "query": "s",
      "top5": "1:COPY KN-300INS, 2:CC-2721, 3:TBS-100, 4:TTBW-158, 5:MS-526",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-104",
      "module": "Autocomplete",
      "priority": "High",
      "input": "First character(s) of a known SKU",
      "expected": "Relevant SKU suggestions are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-105",
      "module": "Autocomplete",
      "priority": "High",
      "input": "Beginning characters of a known product title",
      "expected": "Relevant product suggestions are returned.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-106",
      "module": "Autocomplete",
      "priority": "Critical",
      "input": "Use any common autocomplete query",
      "expected": "Suggestion shows Jonard title and SKU only.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-107",
      "module": "Autocomplete",
      "priority": "Critical",
      "input": "Enter a competitor identifier",
      "expected": "Competitor identifier is never displayed in suggestion content.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-108",
      "module": "Autocomplete",
      "priority": "Medium",
      "input": "Use a very broad single character",
      "expected": "Fewer or no suggestions are acceptable rather than unrelated suggestions.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-109",
      "module": "Autocomplete",
      "priority": "Critical",
      "input": "Select an autocomplete suggestion",
      "expected": "Correct product/search destination opens.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-110",
      "module": "Autocomplete",
      "priority": "Critical",
      "input": "Run representative autocomplete queries repeatedly",
      "expected": "Autocomplete meets the agreed p95 target of 150 ms.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-111",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Use a query with no Jonard match",
      "expected": "Request a Tool is offered.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "request_tool.offer=true",
      "query": "xyzzy nonexistent jonard tool 99999",
      "top5": "",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-112",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Use a query expected to produce VERY_LOW confidence",
      "expected": "Request a Tool is offered.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "request_tool.offer=true",
      "query": "xyzzy nonexistent jonard tool 99999",
      "top5": "",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-113",
      "module": "Fallback / Request a Tool",
      "priority": "High",
      "input": "Use a weak query with a valid qualified result",
      "expected": "Qualified products are shown.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-114",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Use a LOW-confidence query without qualified products",
      "expected": "Request a Tool is offered.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-115",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Use a query with a clear valid match",
      "expected": "Request a Tool does not replace correct results.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Results present; no request_tool offer",
      "query": "FDC-66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-116",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Use competitor SKU with no approved alternative",
      "expected": "Request a Tool is offered.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-117",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Submit Request a Tool form",
      "expected": "Request is successfully submitted.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-118",
      "module": "Fallback / Request a Tool",
      "priority": "Critical",
      "input": "Submit a request",
      "expected": "Email is routed to orders@jonard.com.",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "email=orders@jonard.com",
      "query": "xyzzy nonexistent jonard tool 99999",
      "top5": "",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-119",
      "module": "Fallback / Request a Tool",
      "priority": "High",
      "input": "Submit a request after a search",
      "expected": "Correct search/query context is included.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-120",
      "module": "Fallback / Request a Tool",
      "priority": "High",
      "input": "Create and process a request",
      "expected": "New, Pending Review, and Completed statuses are supported.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-121",
      "module": "Search Result UI",
      "priority": "Critical",
      "input": "Use any known product query",
      "expected": "Correct product title is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-122",
      "module": "Search Result UI",
      "priority": "Critical",
      "input": "Use any known product query",
      "expected": "Correct SKU is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-123",
      "module": "Search Result UI",
      "priority": "Critical",
      "input": "Use any known product query",
      "expected": "Correct product image is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-124",
      "module": "Search Result UI",
      "priority": "Critical",
      "input": "Use any known product query",
      "expected": "Product links to the correct PDP URL.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-125",
      "module": "Search Result UI",
      "priority": "High",
      "input": "Use active and discontinued test products",
      "expected": "Correct availability/status is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-126",
      "module": "Search Result UI",
      "priority": "Critical",
      "input": "Click a search result",
      "expected": "Correct product detail page opens.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-127",
      "module": "Search Result UI",
      "priority": "High",
      "input": "Fiber",
      "expected": "No category card is shown for the silent category result set.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-128",
      "module": "Search Result UI",
      "priority": "Critical",
      "input": "Search a competitor SKU",
      "expected": "No competitor identifier is visible anywhere in shopper UI.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-129",
      "module": "Search Result UI",
      "priority": "High",
      "input": "Search a verified discontinued SKU",
      "expected": "Replacement/discontinued presentation is correct.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-130",
      "module": "Admin - Why Ranked",
      "priority": "High",
      "input": "Use a known query/product pair in Admin",
      "expected": "Correct query and product are displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-131",
      "module": "Admin - Why Ranked",
      "priority": "High",
      "input": "Open Why Ranked for a known result",
      "expected": "Matched fields/concepts are displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-132",
      "module": "Admin - Why Ranked",
      "priority": "High",
      "input": "Open Why Ranked for a known result",
      "expected": "Ranking reason/tier is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-133",
      "module": "Admin - Why Ranked",
      "priority": "High",
      "input": "Open Why Ranked for an intent-driven query",
      "expected": "Category/type/function information is displayed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-134",
      "module": "Admin - Why Ranked",
      "priority": "Medium",
      "input": "Open Why Ranked for a synonym-driven result",
      "expected": "Synonym contribution is visible.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-135",
      "module": "Admin - Why Ranked",
      "priority": "Medium",
      "input": "Open Why Ranked for a semantic result",
      "expected": "Semantic contribution is visible.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-136",
      "module": "Admin - Why Ranked",
      "priority": "High",
      "input": "Open Why Ranked for a result",
      "expected": "Confidence and reason are visible.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-137",
      "module": "Admin - Why Ranked",
      "priority": "Critical",
      "input": "Inspect shopper-facing UI/API",
      "expected": "Technical ranking explanation is not exposed publicly.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-138",
      "module": "Admin - Before/After",
      "priority": "High",
      "input": "Create a proposed synonym",
      "expected": "Current/before results are shown.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-139",
      "module": "Admin - Before/After",
      "priority": "High",
      "input": "Create a proposed synonym",
      "expected": "Proposed/after results are shown.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-140",
      "module": "Admin - Before/After",
      "priority": "High",
      "input": "Create a change that moves results",
      "expected": "Movement is visible in preview.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-141",
      "module": "Admin - Before/After",
      "priority": "Critical",
      "input": "Propose a change that would break an exact SKU test",
      "expected": "Publish is blocked.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-142",
      "module": "Admin - Before/After",
      "priority": "Critical",
      "input": "Propose a change that would break category behavior",
      "expected": "Publish is blocked.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-143",
      "module": "Admin - Before/After",
      "priority": "High",
      "input": "Propose a safe synonym/ranking change",
      "expected": "Publish is allowed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-144",
      "module": "Admin - Before/After",
      "priority": "High",
      "input": "Generate or locate an AI-created synonym",
      "expected": "Admin can review the AI-created synonym.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-145",
      "module": "Admin - Before/After",
      "priority": "Critical",
      "input": "Revert a previously applied synonym",
      "expected": "Previous search behavior is restored.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-146",
      "module": "Audit History",
      "priority": "High",
      "input": "Change a synonym",
      "expected": "Audit record is created.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-147",
      "module": "Audit History",
      "priority": "High",
      "input": "Change a ranking rule",
      "expected": "Audit record is created.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-148",
      "module": "Audit History",
      "priority": "High",
      "input": "Change a redirect",
      "expected": "Audit record is created.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-149",
      "module": "Audit History",
      "priority": "High",
      "input": "Change/inspect a replacement from its authoritative source",
      "expected": "Change is traceable to the correct source.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-150",
      "module": "Audit History",
      "priority": "High",
      "input": "Change/inspect a competitor cross-reference",
      "expected": "Change is traceable to the correct source.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-151",
      "module": "Audit History",
      "priority": "High",
      "input": "Inspect an audit entry",
      "expected": "User/actor is captured.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-152",
      "module": "Audit History",
      "priority": "High",
      "input": "Inspect an audit entry",
      "expected": "Date/time is captured.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-153",
      "module": "Audit History",
      "priority": "High",
      "input": "Inspect an updated record",
      "expected": "Before and after values are captured.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-154",
      "module": "Audit History",
      "priority": "High",
      "input": "Inspect an AI auto-published synonym",
      "expected": "Automated source is clearly identified.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-155",
      "module": "Audit History",
      "priority": "Critical",
      "input": "Revert a supported configuration change",
      "expected": "Rollback/revert succeeds where supported.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Admin/cbfe workflow — requires login",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-156",
      "module": "Performance",
      "priority": "Critical",
      "input": "Run repeated representative autocomplete searches",
      "expected": "Autocomplete p95 meets the agreed target of <=150 ms.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-157",
      "module": "Performance",
      "priority": "Critical",
      "input": "Run repeated representative full search queries",
      "expected": "SERP p95 is <=2 seconds.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-158",
      "module": "Performance",
      "priority": "High",
      "input": "Run representative natural-language searches",
      "expected": "Results return without unreasonable delay and within agreed expectations.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-159",
      "module": "Performance",
      "priority": "High",
      "input": "Run repeated exact SKU searches",
      "expected": "Exact SKU search is not unnecessarily delayed by semantic processing.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-160",
      "module": "Performance",
      "priority": "High",
      "input": "Run multiple consecutive searches",
      "expected": "No increasing timeout/error behavior is observed.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-161",
      "module": "Index Freshness",
      "priority": "Critical",
      "input": "Modify a test product title in Development",
      "expected": "Search reflects the updated title within 2 minutes.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires controlled product edit on Dev",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-162",
      "module": "Index Freshness",
      "priority": "High",
      "input": "Modify a searchable field on a Development test product",
      "expected": "Search reflects the change within 2 minutes.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires controlled product edit on Dev",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-163",
      "module": "Index Freshness",
      "priority": "High",
      "input": "Change category on a Development test product",
      "expected": "Search/category behavior reflects the change within 2 minutes.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires controlled product edit on Dev",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-164",
      "module": "Index Freshness",
      "priority": "Critical",
      "input": "Change a Development test product to discontinued",
      "expected": "Search reflects discontinued status within 2 minutes.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires controlled product edit on Dev",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-165",
      "module": "Index Freshness",
      "priority": "Critical",
      "input": "Configure a controlled replacement mapping",
      "expected": "Replacement behavior is searchable within 2 minutes.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires controlled product edit on Dev",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Functional QA",
      "id": "TC-166",
      "module": "Index Freshness",
      "priority": "High",
      "input": "Set field_latest_product on a Development test product",
      "expected": "New Product ordering reflects the change within 2 minutes.",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Requires controlled product edit on Dev",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-01",
      "module": "Exact SKU",
      "priority": "Critical",
      "input": "FDC-66",
      "expected": "Exact SKU Rank 1",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "FDC-66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-02",
      "module": "Normalized SKU",
      "priority": "Critical",
      "input": "fdc66",
      "expected": "FDC-66 Rank 1",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "fdc66",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-03",
      "module": "UPC Search",
      "priority": "Critical",
      "input": "811490017801",
      "expected": "Correct product Rank 1",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "811490017801",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-04",
      "module": "Compound Search",
      "priority": "Critical",
      "input": "screwdriver",
      "expected": "Correct relevant products",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "screwdriver",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-05",
      "module": "Spacing Search",
      "priority": "Critical",
      "input": "screw driver",
      "expected": "Same shopper intent as screwdriver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "query": "screw driver",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-06",
      "module": "Fiber Disposal",
      "priority": "Critical",
      "input": "fiber trash can",
      "expected": "FDC-66 / Fiber Disposal highly relevant",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "query": "fiber trash can",
      "top5": "1:FDC-66",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-07",
      "module": "Fiber Disposal Alternate",
      "priority": "Critical",
      "input": "fiber scraps",
      "expected": "Fiber Disposal highly relevant",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 in top 5: [FDC-66, FWM-2214]",
      "query": "fiber scraps",
      "top5": "1:FDC-66, 2:FWM-2214",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-08",
      "module": "Insertion Intent",
      "priority": "Critical",
      "input": "insertion tool",
      "expected": "Insertion product above removal-only",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCT-100",
      "query": "fiber insertion tool",
      "top5": "1:FCT-100, 2:FCT-200, 3:FW-50, 4:DW-90, 5:RFS-100",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-09",
      "module": "Tool Type Intent",
      "priority": "Critical",
      "input": "electrical connector tools",
      "expected": "Tools above connectors/components",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=R-5926",
      "query": "electrical connector tools",
      "top5": "1:R-5926, 2:CMP-1226, 3:AR-910672, 4:R-4601, 5:R-4602",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-10",
      "module": "Cable Pulling",
      "priority": "Critical",
      "input": "cable pulling tools",
      "expected": "Correct pulling products",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=CP-475",
      "query": "cable pulling tools",
      "top5": "1:CP-475, 2:ROD-3316, 3:MP-700, 4:FTF-1125, 5:JIC-3209",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-11",
      "module": "Wire Pulling",
      "priority": "Critical",
      "input": "wire pulling rollers",
      "expected": "Correct roller/pulling products",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=ROD-3316",
      "query": "wire pulling tools",
      "top5": "1:ROD-3316, 2:MP-700, 3:FTF-1125, 4:JIC-3209, 5:MP-400",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-12",
      "module": "Individual Tool",
      "priority": "Critical",
      "input": "fiber optic stripper",
      "expected": "Individual stripper above kit",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "query": "fiber optic stripper",
      "top5": "1:JIC-375, 2:JIC-125, 3:JIC-1022, 4:ST-500, 5:TSAB-40",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-13",
      "module": "Kit Intent",
      "priority": "Critical",
      "input": "fiber prep kit",
      "expected": "Kit products preferred",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "3 products; top1=TK-375",
      "query": "fiber stripper kit",
      "top5": "1:TK-375, 2:TK-355, 3:TK-350",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-14",
      "module": "Natural Language",
      "priority": "Critical",
      "input": "tool to strip 900 micron fiber",
      "expected": "Correct qualified recommendation",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "7 products; top1=JIC-375",
      "query": "tool to strip 900 micron fiber",
      "top5": "1:JIC-375, 2:TK-121, 3:TK-170, 4:TK-121B, 5:TK-375",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-15",
      "module": "Silent Category",
      "priority": "Critical",
      "input": "Fiber",
      "expected": "Correct scoped Fiber products; no unrelated products",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "query": "fiber",
      "top5": "1:JIC-375, 2:FOD-2000, 3:VFL-150, 4:MS-6, 5:OFI-100",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-16",
      "module": "Series / Family",
      "priority": "Critical",
      "input": "Voltlife",
      "expected": "Correct Voltlife product set",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "Voltlife VERIFY incomplete",
      "query": "",
      "top5": "",
      "manualAction": ""
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-17",
      "module": "Competitor Mapping",
      "priority": "Critical",
      "input": "Use configured competitor SKU",
      "expected": "Primary Jonard equivalent",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "2 products; top1=TK-375",
      "query": "32-60-375",
      "top5": "1:TK-375, 2:TK-350",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-18",
      "module": "Replacement",
      "priority": "Critical",
      "input": "Use known discontinued SKU",
      "expected": "Replacement above discontinued original",
      "validationStatus": "BLOCKED",
      "ok": null,
      "detail": "No verified discontinued+replacement SKU in test data",
      "query": "",
      "top5": "",
      "manualAction": ""
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-19",
      "module": "1-char Autocomplete",
      "priority": "Critical",
      "input": "s",
      "expected": "Autocomplete works from one character",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=COPY KN-300INS",
      "query": "s",
      "top5": "1:COPY KN-300INS, 2:CC-2721, 3:TBS-100, 4:TTBW-158, 5:MS-526",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-20",
      "module": "Fallback",
      "priority": "Critical",
      "input": "Use invalid/no-match query",
      "expected": "Request a Tool is offered",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "request_tool.offer=true",
      "query": "xyzzy nonexistent jonard tool 99999",
      "top5": "",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-21",
      "module": "Competitor Privacy",
      "priority": "Critical",
      "input": "Search competitor SKU",
      "expected": "No competitor identifier exposed publicly",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "field_competitor_part_no in response",
      "query": "32-60-375",
      "top5": "1:TK-375, 2:TK-350",
      "manualAction": ""
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-22",
      "module": "Tools vs Merchandise",
      "priority": "Critical",
      "input": "Use a tool query with merch overlap",
      "expected": "Tools rank before merchandise",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Placeholder input — use concrete query from QA guide Section 6",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-23",
      "module": "Active vs Discontinued",
      "priority": "Critical",
      "input": "Use query matching both",
      "expected": "Active product ranks first",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Not mapped to API automation — execute on storefront per QA guide",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-24",
      "module": "Semantic Fail-open",
      "priority": "Critical",
      "input": "Simulate semantic failure",
      "expected": "Normal lexical/exact search remains functional",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "7 products; top1=JIC-375",
      "query": "tool to strip 900 micron fiber",
      "top5": "1:JIC-375, 2:TK-121, 3:TK-170, 4:TK-121B, 5:TK-375",
      "manualAction": "Confirm same on storefront UI"
    },
    {
      "sheet": "Client Demo Smoke",
      "id": "DEMO-25",
      "module": "Performance",
      "priority": "Critical",
      "input": "Run autocomplete + SERP checks",
      "expected": "Agreed performance targets pass",
      "validationStatus": "MANUAL",
      "ok": null,
      "detail": "Storefront UI or measured timing required",
      "query": "",
      "top5": "",
      "manualAction": "Execute per Jonard_Search_Manual_QA_Testing_Guide.md"
    }
  ],
  "apiAutomated": [
    {
      "id": "ADD-fiber-sc",
      "module": "Fiber Disposal (catalog)",
      "priority": "Critical",
      "sheet": "Catalog Additions",
      "query": "fiber sc",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 #1; SD-63/10 not in top 3",
      "top5": "1:FDC-66, 2:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "ADD-fiber-scr",
      "module": "Fiber Disposal (catalog)",
      "priority": "Critical",
      "sheet": "Catalog Additions",
      "query": "fiber scr",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 #1; SD-63/10 not in top 3",
      "top5": "1:FDC-66, 2:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-001",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "FDC-66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-002",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fdc-66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-003",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fdc66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-004",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "811490017801",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-005",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "Fiber Stripper & Scissors Kit",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = TK-375",
      "top5": "1:TK-375",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-008",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "screwdriver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-009",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "screw driver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-010",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fishtape",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FTS-240",
      "top5": "1:FTS-240, 2:FTF-1125, 3:FTS-50, 4:JIC-685, 5:FTS-240",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-011",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fish tape",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FTS-240",
      "top5": "1:FTS-240, 2:FTF-1125, 3:FTS-50, 4:JIC-685, 5:FTS-240",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-012",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "Screw Driver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-013",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "screw   driver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SPK-100, 4:SDC-3810, 5:SDP-1",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-014",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "connector",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCC-125",
      "top5": "1:FCC-125, 2:JIC-891, 3:FCT-100, 4:TK-151, 5:PAB-CG",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-015",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "connectors",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=CTF-200",
      "top5": "1:CTF-200, 2:TK-82, 3:FCT-100, 4:FLS-50, 5:RJ45-625",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-020",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "conector",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=CTF-200",
      "top5": "1:CTF-200, 2:FCC-125, 3:JIC-891, 4:TK-82, 5:FCT-100",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-021",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "scredriver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SPK-100, 4:SDC-3810, 5:SDP-1",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-023",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "validationStatus": "BLOCKED",
      "detail": "Voltlife taxonomy VERIFY incomplete (catalog evaluateLive=false)",
      "surface": "API"
    },
    {
      "id": "TC-026",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber disposal",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 in top 5: [FDC-66]",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-027",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber scraps",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 in top 5: [FDC-66, FWM-2214]",
      "top5": "1:FDC-66, 2:FWM-2214",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-028",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber trash can",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-029",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber trash",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "FDC-66 not in top 5: [FC-600, FSK-5]",
      "top5": "1:FC-600, 2:FSK-5",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-033",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:FOD-2000, 3:VFL-150, 4:MS-6, 5:OFI-100",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-034",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:FOD-2000, 3:VFL-150, 4:MS-6, 5:OFI-100",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-037",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "validationStatus": "BLOCKED",
      "detail": "Voltlife taxonomy VERIFY incomplete",
      "surface": "API"
    },
    {
      "id": "TC-040",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "electrical connector tools",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=R-5926",
      "top5": "1:R-5926, 2:CMP-1226, 3:AR-910672, 4:R-4601, 5:R-4602",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-045",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber insertion tool",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCT-100",
      "top5": "1:FCT-100, 2:FCT-200, 3:FW-50, 4:DW-90, 5:RFS-100",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-047",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber removal tool",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCT-100",
      "top5": "1:FCT-100, 2:FCT-200, 3:FS-1416, 4:FW-50, 5:DW-90",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-048",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "cable pulling tools",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Top 4 OK: [CP-475, ROD-3316, MP-700, FTF-1125]",
      "top5": "1:CP-475, 2:ROD-3316, 3:MP-700, 4:FTF-1125, 5:JIC-3209",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-049",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "wire pulling tools",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=ROD-3316",
      "top5": "1:ROD-3316, 2:MP-700, 3:FTF-1125, 4:JIC-3209, 5:MP-400",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-056",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "fiber stripper kit",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "Only 3 products (need 5)",
      "top5": "1:TK-375, 2:TK-355, 3:TK-350",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-058",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "JIC-375",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = JIC-375",
      "top5": "1:JIC-375",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-061",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "tool to strip 900 micron fiber",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "7 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:TK-121, 3:TK-170, 4:TK-121B, 5:TK-375",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-065",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "what can I use for fiber scraps",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "FDC-66 not in top 8: []",
      "top5": "",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-071",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "FDC-66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-072",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "Fiber Stripper & Scissors Kit",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = TK-375",
      "top5": "1:TK-375",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-084",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "32-60-375",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "2 products; top1=TK-375",
      "top5": "1:TK-375, 2:TK-350",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-088",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "32-60-375",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "field_competitor_part_no in response",
      "top5": "1:TK-375, 2:TK-350",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-103",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "s",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=COPY KN-300INS",
      "top5": "1:COPY KN-300INS, 2:CC-2721, 3:TBS-100, 4:TTBW-158, 5:MS-526",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-111",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "xyzzy nonexistent jonard tool 99999",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "request_tool.offer=true",
      "top5": "",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-112",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "xyzzy nonexistent jonard tool 99999",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "request_tool.offer=true",
      "top5": "",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-115",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "FDC-66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Results present; no request_tool offer",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "TC-118",
      "sheet": "Functional QA",
      "priority": "Critical/High",
      "query": "xyzzy nonexistent jonard tool 99999",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "email=orders@jonard.com",
      "top5": "",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-01",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "FDC-66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-02",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fdc66",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-03",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "811490017801",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-04",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "screwdriver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-05",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "screw driver",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=SDP-2",
      "top5": "1:SDP-2, 2:SD-61, 3:SDC-3810, 4:SDP-1, 5:SD-41",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-06",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fiber trash can",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "Rank 1 = FDC-66",
      "top5": "1:FDC-66",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-07",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fiber scraps",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "FDC-66 in top 5: [FDC-66, FWM-2214]",
      "top5": "1:FDC-66, 2:FWM-2214",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-08",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fiber insertion tool",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=FCT-100",
      "top5": "1:FCT-100, 2:FCT-200, 3:FW-50, 4:DW-90, 5:RFS-100",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-09",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "electrical connector tools",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=R-5926",
      "top5": "1:R-5926, 2:CMP-1226, 3:AR-910672, 4:R-4601, 5:R-4602",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-10",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "cable pulling tools",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=CP-475",
      "top5": "1:CP-475, 2:ROD-3316, 3:MP-700, 4:FTF-1125, 5:JIC-3209",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-11",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "wire pulling tools",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=ROD-3316",
      "top5": "1:ROD-3316, 2:MP-700, 3:FTF-1125, 4:JIC-3209, 5:MP-400",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-12",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fiber optic stripper",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:JIC-125, 3:JIC-1022, 4:ST-500, 5:TSAB-40",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-13",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fiber stripper kit",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "3 products; top1=TK-375",
      "top5": "1:TK-375, 2:TK-355, 3:TK-350",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-14",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "tool to strip 900 micron fiber",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "7 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:TK-121, 3:TK-170, 4:TK-121B, 5:TK-375",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-15",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "fiber",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:FOD-2000, 3:VFL-150, 4:MS-6, 5:OFI-100",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-16",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "validationStatus": "BLOCKED",
      "detail": "Voltlife VERIFY incomplete",
      "surface": "API"
    },
    {
      "id": "DEMO-17",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "32-60-375",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "2 products; top1=TK-375",
      "top5": "1:TK-375, 2:TK-350",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-18",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "validationStatus": "BLOCKED",
      "detail": "No verified discontinued+replacement SKU in test data",
      "surface": "API"
    },
    {
      "id": "DEMO-19",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "s",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "8 products; top1=COPY KN-300INS",
      "top5": "1:COPY KN-300INS, 2:CC-2721, 3:TBS-100, 4:TTBW-158, 5:MS-526",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-20",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "xyzzy nonexistent jonard tool 99999",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "request_tool.offer=true",
      "top5": "",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-21",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "32-60-375",
      "validationStatus": "FAIL (API)",
      "ok": false,
      "detail": "field_competitor_part_no in response",
      "top5": "1:TK-375, 2:TK-350",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    },
    {
      "id": "DEMO-24",
      "sheet": "Client Demo Smoke",
      "priority": "Critical",
      "query": "tool to strip 900 micron fiber",
      "validationStatus": "PASS (API)",
      "ok": true,
      "detail": "7 products; top1=JIC-375",
      "top5": "1:JIC-375, 2:TK-121, 3:TK-170, 4:TK-121B, 5:TK-375",
      "rankingVersion": "2026-08-30-stage9",
      "surface": "API autocomplete"
    }
  ]
}