{
  "catalogVersion": "2026-03-stage0-v1",
  "expectedRankingVersionInCode": "2026-08-30-stage9",
  "description": "Labeled Jonard search regression ground truth. Baseline failures are recorded, not patched in Stage 0.",
  "cases": [
    {
      "id": "exact-sku-fdc66",
      "family": "exact-sku",
      "query": "FDC-66",
      "expectedSku": "FDC-66",
      "expectedProduct": "Fiber Scraps Disposal Can",
      "preferredTop1": "FDC-66",
      "requiredTopN": 1,
      "expectedQueryType": "SKU",
      "expectedPrimaryRankingTier": "exact_sku",
      "forbiddenPublicFields": ["field_competitor_part_no"],
      "allowedRetrievalSources": ["exact", "keyword"]
    },
    {
      "id": "exact-sku-normalized",
      "family": "exact-sku",
      "query": "fdc66",
      "preferredTop1": "FDC-66",
      "requiredTopN": 1,
      "expectedQueryType": "SKU",
      "expectedPrimaryRankingTier": "exact_sku",
      "notes": "Runtime matches FDC-66 via identifier normalization; intent detectedSku is FDC66"
    },
    {
      "id": "exact-upc-fdc66",
      "family": "exact-upc",
      "query": "811490017801",
      "expectedSku": "FDC-66",
      "preferredTop1": "FDC-66",
      "requiredTopN": 1,
      "expectedQueryType": "UPC",
      "expectedPrimaryRankingTier": "exact_upc"
    },
    {
      "id": "spacing-screwdriver",
      "family": "spacing-compound",
      "query": "screwdriver",
      "expectedQueryType": "GENERAL_KEYWORD",
      "requiredTopN": 5,
      "notes": "Spacing variant of screw driver; top results should overlap"
    },
    {
      "id": "spacing-screw-driver",
      "family": "spacing-compound",
      "query": "screw driver",
      "expectedQueryType": "TITLE",
      "parityWith": "spacing-screwdriver",
      "requiredTopN": 5
    },
    {
      "id": "spacing-fishtape",
      "family": "spacing-compound",
      "query": "fishtape",
      "expectedQueryType": "GENERAL_KEYWORD",
      "parityWith": "spacing-fish-tape",
      "requiredTopN": 5
    },
    {
      "id": "spacing-fish-tape",
      "family": "spacing-compound",
      "query": "fish tape",
      "expectedQueryType": "TITLE",
      "requiredTopN": 5
    },
    {
      "id": "plural-connector",
      "family": "morphology",
      "query": "connector",
      "expectedQueryType": "GENERAL_KEYWORD",
      "requiredTopN": 5
    },
    {
      "id": "plural-connectors",
      "family": "morphology",
      "query": "connectors",
      "expectedQueryType": "GENERAL_KEYWORD",
      "parityWith": "plural-connector",
      "requiredTopN": 5
    },
    {
      "id": "fiber-disposal-fiber-scr",
      "family": "fiber-disposal",
      "query": "fiber scr",
      "expectedSku": "FDC-66",
      "preferredTop1": "FDC-66",
      "requiredTopN": 3,
      "forbiddenProducts": ["SD-63/10"],
      "expectedQueryType": "CATEGORY",
      "notes": "Fiber Scraps Disposal Can must outrank screwdriver false positive"
    },
    {
      "id": "fiber-disposal-fiber-sc",
      "family": "fiber-disposal",
      "query": "fiber sc",
      "expectedSku": "FDC-66",
      "preferredTop1": "FDC-66",
      "requiredTopN": 3,
      "forbiddenProducts": ["SD-63/10"],
      "expectedQueryType": "CATEGORY"
    },
    {
      "id": "fiber-disposal-trash-can",
      "family": "fiber-disposal",
      "query": "fiber trash can",
      "expectedFunctionalIntent": "DISPOSAL",
      "expectedCategoryIntent": "Fiber",
      "expectedCategoryMode": "HIGH",
      "requiredTopN": 5,
      "expectedQueryType": "TITLE",
      "notes": "Silent category HIGH hard-scope target (future Stage 6)"
    },
    {
      "id": "functional-insertion",
      "family": "functional-intent",
      "query": "fiber insertion tool",
      "expectedFunctionalIntent": "INSERT",
      "expectedCategoryIntent": "Fiber",
      "expectedProductTypeIntent": "TOOL",
      "requiredTopN": 5,
      "expectedQueryType": "TITLE"
    },
    {
      "id": "functional-removal",
      "family": "functional-intent",
      "query": "fiber removal tool",
      "expectedFunctionalIntent": "REMOVE",
      "expectedCategoryIntent": "Fiber",
      "expectedProductTypeIntent": "TOOL",
      "requiredTopN": 5,
      "expectedQueryType": "TITLE"
    },
    {
      "id": "electrical-connector-tools",
      "family": "product-type",
      "query": "electrical connector tools",
      "expectedCategoryIntent": "Electrical",
      "expectedProductTypeIntent": "TOOL",
      "requiredTopN": 5,
      "expectedQueryType": "TITLE",
      "notes": "Tools must rank above components/merchandise (Stage 6)"
    },
    {
      "id": "cable-pulling-tools",
      "family": "functional-intent",
      "query": "cable pulling tools",
      "expectedFunctionalIntent": "PULL",
      "expectedProductTypeIntent": "TOOL",
      "requiredTopN": 5,
      "forbiddenFamilies": ["stripper-only"],
      "expectedQueryType": "TITLE",
      "notes": "No knives/strippers in top 4 for pull intent"
    },
    {
      "id": "wire-pulling",
      "family": "functional-intent",
      "query": "wire pulling tools",
      "expectedFunctionalIntent": "PULL",
      "expectedProductTypeIntent": "TOOL",
      "requiredTopN": 5,
      "expectedQueryType": "TITLE"
    },
    {
      "id": "silent-category-fiber",
      "family": "silent-category",
      "query": "fiber",
      "expectedCategoryIntent": "Fiber",
      "expectedCategoryMode": "HIGH",
      "requiredTopN": 8,
      "expectedQueryType": "CATEGORY"
    },
    {
      "id": "silent-category-voltlife",
      "family": "silent-category",
      "query": "voltlife",
      "expectedCategoryIntent": "Voltlife",
      "expectedCategoryMode": "HIGH",
      "requiredTopN": 8,
      "expectedQueryType": "CATEGORY",
      "evaluateLive": false,
      "notes": "VERIFY Voltlife taxonomy during Development VERIFY"
    },
    {
      "id": "kit-vs-individual-stripper",
      "family": "product-structure",
      "query": "fiber stripper kit",
      "expectedProductStructureIntent": "KIT",
      "requiredTopN": 5,
      "expectedQueryType": "TITLE"
    },
    {
      "id": "kit-vs-individual-jic375",
      "family": "product-structure",
      "query": "JIC-375",
      "expectedSku": "JIC-375",
      "preferredTop1": "JIC-375",
      "requiredTopN": 1,
      "expectedQueryType": "SKU"
    },
    {
      "id": "nl-strip-900-micron",
      "family": "natural-language",
      "query": "tool to strip 900 micron fiber",
      "expectedFunctionalIntent": "STRIP",
      "expectedCategoryIntent": "Fiber",
      "expectedQueryType": "NATURAL_LANGUAGE",
      "requiredTopN": 5
    },
    {
      "id": "typo-voltfiel",
      "family": "typo",
      "query": "voltfiel",
      "expectedCategoryIntent": "Voltlife",
      "requiredTopN": 5,
      "expectedQueryType": "CATEGORY",
      "evaluateLive": false
    },
    {
      "id": "typo-conector",
      "family": "typo",
      "query": "conector",
      "requiredTopN": 5,
      "expectedQueryType": "GENERAL_KEYWORD"
    },
    {
      "id": "typo-scredriver",
      "family": "typo",
      "query": "scredriver",
      "requiredTopN": 5,
      "expectedQueryType": "GENERAL_KEYWORD"
    },
    {
      "id": "competitor-32-60-375",
      "family": "competitor",
      "query": "32-60-375",
      "expectedQueryType": "COMPETITOR",
      "requiredTopN": 5,
      "forbiddenPublicFields": ["field_competitor_part_no"],
      "notes": "Maps to Jonard SKU via field_competitor_part_no; public UI must not expose competitor ID"
    },
    {
      "id": "one-char-s",
      "family": "one-char-autocomplete",
      "query": "s",
      "expectedQueryType": "GENERAL_KEYWORD",
      "requiredTopN": 5,
      "notes": "1-char policy: title + SKU prefix only (Stage 1)"
    },
    {
      "id": "exact-title-fiber-stripper",
      "family": "exact-title",
      "query": "Fiber Stripper & Scissors Kit",
      "expectedSku": "TK-375",
      "preferredTop1": "TK-375",
      "requiredTopN": 3,
      "expectedQueryType": "TITLE",
      "expectedPrimaryRankingTier": "exact_title"
    },
    {
      "id": "replacement-discontinued-placeholder",
      "family": "replacement",
      "query": "DISCONTINUED-SKU-VERIFY",
      "evaluateLive": false,
      "expectedQueryType": "SKU",
      "notes": "Populate with real discontinued+replacement SKU during Development VERIFY"
    }
  ]
}
