← back to Dw Unbuyable Recovery Pilot

data/classification-summary.json

166 lines

{
  "ticket": "TK-10875",
  "generated_at": "2026-08-31T06:55:40.286Z",
  "source": "dw_unified mirror (local /tmp socket) — READ-ONLY",
  "definition_unbuyable": "status='active' AND has_product_variant IS NOT TRUE",
  "headline": {
    "unbuyable_total": 24846,
    "single_priced_variant_needs_live_check": 0,
    "sample_only_mirror": 24846,
    "null_flag": 151
  },
  "top_vendors": [
    {
      "vendor": "Phillipe Romano",
      "unbuyable": 8274,
      "pct": 33.3
    },
    {
      "vendor": "Koroseal",
      "unbuyable": 2448,
      "pct": 9.9
    },
    {
      "vendor": "Phillip Jeffries",
      "unbuyable": 2338,
      "pct": 9.4
    },
    {
      "vendor": "China Seas",
      "unbuyable": 1776,
      "pct": 7.1
    },
    {
      "vendor": "Coordonné",
      "unbuyable": 1299,
      "pct": 5.2
    },
    {
      "vendor": "Pierre Frey",
      "unbuyable": 659,
      "pct": 2.7
    },
    {
      "vendor": "Maya Romanoff",
      "unbuyable": 620,
      "pct": 2.5
    },
    {
      "vendor": "Rebel Walls",
      "unbuyable": 494,
      "pct": 2
    },
    {
      "vendor": "Arte International",
      "unbuyable": 489,
      "pct": 2
    },
    {
      "vendor": "Quadrille",
      "unbuyable": 443,
      "pct": 1.8
    },
    {
      "vendor": "Alan Campbell",
      "unbuyable": 434,
      "pct": 1.7
    },
    {
      "vendor": "Vahallan",
      "unbuyable": 390,
      "pct": 1.6
    },
    {
      "vendor": "CMO Paris",
      "unbuyable": 344,
      "pct": 1.4
    },
    {
      "vendor": "Malibu Wallpaper",
      "unbuyable": 339,
      "pct": 1.4
    },
    {
      "vendor": "Scalamandre Wallpaper",
      "unbuyable": 330,
      "pct": 1.3
    },
    {
      "vendor": "Architectural Fabrics",
      "unbuyable": 328,
      "pct": 1.3
    },
    {
      "vendor": "AS Creation",
      "unbuyable": 327,
      "pct": 1.3
    },
    {
      "vendor": "Suncloth",
      "unbuyable": 254,
      "pct": 1
    },
    {
      "vendor": "Home Couture",
      "unbuyable": 229,
      "pct": 0.9
    },
    {
      "vendor": "Thibaut",
      "unbuyable": 203,
      "pct": 0.8
    },
    {
      "vendor": "Mind the Gap",
      "unbuyable": 183,
      "pct": 0.7
    },
    {
      "vendor": "Plains",
      "unbuyable": 181,
      "pct": 0.7
    },
    {
      "vendor": "De Gournay",
      "unbuyable": 172,
      "pct": 0.7
    },
    {
      "vendor": "Designer Wallcoverings",
      "unbuyable": 170,
      "pct": 0.7
    },
    {
      "vendor": "Donghia",
      "unbuyable": 154,
      "pct": 0.6
    }
  ],
  "join_validated_recoverable": [
    {
      "vendor": "Wolf Gordon",
      "staging_table": "wolf_gordon_catalog",
      "cost_column": "price_trade",
      "unbuyable": 45,
      "cost_joined": 0,
      "recovery": "live-verified RR-defect → recoverable via restructure (GATED)"
    },
    {
      "vendor": "Coordonné",
      "staging_table": "coordonne_catalog",
      "cost_column": "price_trade",
      "unbuyable": 1299,
      "cost_joined": 0,
      "recovery": "blocked: DWCO2↔DWDC prefix + empty trade cost"
    },
    {
      "vendor": "Malibu Wallpaper",
      "staging_table": "wallquest_catalog",
      "cost_column": "COALESCE(net_cost,price_trade)",
      "unbuyable": 339,
      "cost_joined": 1,
      "recovery": "no staging join (CDA line ≠ wallquest DWQW)"
    }
  ],
  "finding": "Three-layer result. (1) JOIN-KEY SWAP: working join is shopify.sku = <vendor>_catalog.dw_sku, not dw_sku↔dw_sku (yields 0) — why prior cycles used unreliable table-totals. (2) MIRROR CANNOT CLASSIFY: it has no variant option1 and is price-stale (dead dw-shopify-products-sync-hourly, 13d). (3) LIVE-VERIFIED (2026-08-30): the WG 224 cost-joined cohort is the RR-defect — a lone option1=Sample variant priced at ROLL RETAIL (not $4.25), no real sample, no roll. They ARE recoverable via the proven TK-10875-130 variant-restructure (relabel Sample→Sold Per Roll @ trade/0.65/0.85 + add $4.25 Sample), reversible+ledgered — but it is a GATED customer-facing write. Coordonné/Malibu do not join. Executor MUST read live Shopify + recompute retail from staging (never the stale mirror price)."
}