[object Object]

← back to Designer Wallcoverings

April mass-archive restore-PREP plan: per-vendor staged manifest (READ-ONLY triage; 42199 restorable, 10380 ready-active)

a5be50adc6384e2cb5e0e6a60a36e5f66c356a89 · 2026-06-14 20:08:32 -0700 · SteveStudio2

Files touched

Diff

commit a5be50adc6384e2cb5e0e6a60a36e5f66c356a89
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date:   Sun Jun 14 20:08:32 2026 -0700

    April mass-archive restore-PREP plan: per-vendor staged manifest (READ-ONLY triage; 42199 restorable, 10380 ready-active)
---
 .../ncw-cleanup/april-restore-plan-2026-06-14.json | 3326 ++++++++++++++++++++
 .../ncw-cleanup/april-restore-plan-2026-06-14.md   |  209 ++
 .../ncw-cleanup/build-april-restore-manifest.js    |   45 +
 3 files changed, 3580 insertions(+)

diff --git a/scripts/ncw-cleanup/april-restore-plan-2026-06-14.json b/scripts/ncw-cleanup/april-restore-plan-2026-06-14.json
new file mode 100644
index 00000000..5574e44c
--- /dev/null
+++ b/scripts/ncw-cleanup/april-restore-plan-2026-06-14.json
@@ -0,0 +1,3326 @@
+{
+  "generated_at": "2026-06-15T03:07:49.908Z",
+  "generated_by": "vp-dw-commerce YOLO-LOOP (READ-ONLY restore-PREP plan)",
+  "scope": "April 2026 mass-archive catastrophe — staged restore triage. PLAN ONLY, no writes performed.",
+  "hard_rules_observed": [
+    "READ-ONLY: no un-archiving, no status changes, no Shopify writes",
+    "Discontinued = ARCHIVE (OK_DISCO/OK_YB excluded from restore)",
+    "NEVER ACTIVE without image AND width metafield",
+    "1k/day variant limit + >=90s between batches reflected in staging"
+  ],
+  "source": {
+    "db": "Kamatera dw_unified (canonical) via tailscale 100.107.67.67, read-only repl_user",
+    "tables": [
+      "archive_alerts",
+      "shopify_products"
+    ],
+    "join": "archive_alerts.shopify_id = shopify_products.shopify_id (100% match across 47157 pending wrongful alerts)"
+  },
+  "classification_rules": {
+    "restore_candidate_buckets": [
+      "WRONG_PRICED",
+      "WRONG_SAMPLE",
+      "MASS_WRONGFUL",
+      "DRIFT"
+    ],
+    "stays_archived_buckets": [
+      "OK_DISCO (genuinely discontinued — disco rule)",
+      "OK_YB"
+    ],
+    "restore_candidate_def": "pending (restored_at IS NULL) wrongful alert whose Shopify product is STILL status=ARCHIVED",
+    "image_width_rule": "NEVER ACTIVE without image AND width metafield; otherwise restore as DRAFT + Needs-Image / Needs-Width",
+    "width_detect_keys": [
+      "metafields.global.Width",
+      "metafields.global.width",
+      "metafields.custom.width",
+      "metafields.dwc.width"
+    ]
+  },
+  "universe": {
+    "total_pending_wrongful_alerts": 47157,
+    "still_archived_restore_candidates": 42199,
+    "already_active_no_action_needed": 4929,
+    "stays_archived_disco_okyb": 4862,
+    "already_restored_by_prior_campaign": 15747
+  },
+  "totals": {
+    "total_restorable": 42199,
+    "total_ready_active": 10380,
+    "total_blocked": 31819,
+    "need_image": 157,
+    "need_width": 25964,
+    "need_both": 5698
+  },
+  "restore_ready_count": 10380,
+  "top5_vendors_by_restorable": [
+    {
+      "vendor": "Scalamandre Fabrics",
+      "restorable": 10177,
+      "ready_active": 0,
+      "cost_status": "no_reprice_needed"
+    },
+    {
+      "vendor": "Phillipe Romano",
+      "restorable": 5119,
+      "ready_active": 1842,
+      "cost_status": "cost_blocked"
+    },
+    {
+      "vendor": "Hollywood Wallcoverings",
+      "restorable": 2423,
+      "ready_active": 1646,
+      "cost_status": "cost_blocked"
+    },
+    {
+      "vendor": "Kravet",
+      "restorable": 2305,
+      "ready_active": 812,
+      "cost_status": "cost_ready_map"
+    },
+    {
+      "vendor": "Fentucci",
+      "restorable": 2192,
+      "ready_active": 0,
+      "cost_status": "cost_blocked"
+    }
+  ],
+  "recommended_first_batch": {
+    "vendor": "Kravet",
+    "batch_size": 812,
+    "pool_ready_active": 812,
+    "cost_status": {
+      "tier": "cost_ready_map",
+      "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+    },
+    "rationale": "Largest image+width-ready, cost-ready pool. 1k cap respects the daily variant limit; activate ACTIVE only (image+width present); >=90s gap between sub-batches.",
+    "runner_up": {
+      "vendor": "Lee Jofa",
+      "ready_active": 598,
+      "cost_status": "cost_ready_map"
+    }
+  },
+  "vendors": [
+    {
+      "vendor": "Scalamandre Fabrics",
+      "restorable_still_archived": 10177,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 10177,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 5177,
+        "need_both": 5000
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 5162,
+        "WRONG_SAMPLE": 5015
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Phillipe Romano",
+      "restorable_still_archived": 5119,
+      "ready_active_image_and_width": 1842,
+      "blocked_total": 3277,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 3275,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "DRIFT": 8,
+        "WRONG_PRICED": 73,
+        "WRONG_SAMPLE": 5038
+      },
+      "already_active_no_action": 163,
+      "stays_archived_disco_okyb": 3,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Hollywood Wallcoverings",
+      "restorable_still_archived": 2423,
+      "ready_active_image_and_width": 1646,
+      "blocked_total": 777,
+      "blocked_breakdown": {
+        "need_image": 47,
+        "need_width": 730,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 234,
+        "WRONG_PRICED": 144,
+        "WRONG_SAMPLE": 2045
+      },
+      "already_active_no_action": 2384,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Kravet",
+      "restorable_still_archived": 2305,
+      "ready_active_image_and_width": 812,
+      "blocked_total": 1493,
+      "blocked_breakdown": {
+        "need_image": 20,
+        "need_width": 1424,
+        "need_both": 49
+      },
+      "classification_mix": {
+        "DRIFT": 1,
+        "WRONG_PRICED": 18,
+        "WRONG_SAMPLE": 2286
+      },
+      "already_active_no_action": 91,
+      "stays_archived_disco_okyb": 6,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Fentucci",
+      "restorable_still_archived": 2192,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 2192,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2192,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 262,
+        "WRONG_PRICED": 1930
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 394,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Lee Jofa",
+      "restorable_still_archived": 1379,
+      "ready_active_image_and_width": 598,
+      "blocked_total": 781,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 775,
+        "need_both": 6
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1369,
+        "WRONG_SAMPLE": 10
+      },
+      "already_active_no_action": 47,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Holly Hunt Walls",
+      "restorable_still_archived": 1257,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1257,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1257,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 308,
+        "WRONG_PRICED": 6,
+        "WRONG_SAMPLE": 943
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Osborne & Little Fabrics",
+      "restorable_still_archived": 1101,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1101,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1101,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1101
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Thibaut",
+      "restorable_still_archived": 1096,
+      "ready_active_image_and_width": 363,
+      "blocked_total": 733,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 732,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 1,
+        "WRONG_PRICED": 110,
+        "WRONG_SAMPLE": 985
+      },
+      "already_active_no_action": 3,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_verified",
+        "note": "verified cost source in price-finder cost-map"
+      }
+    },
+    {
+      "vendor": "Retro Walls",
+      "restorable_still_archived": 955,
+      "ready_active_image_and_width": 5,
+      "blocked_total": 950,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 947,
+        "need_both": 3
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 945,
+        "WRONG_SAMPLE": 10
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Scalamandre",
+      "restorable_still_archived": 861,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 860,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 705,
+        "need_both": 155
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 734,
+        "WRONG_SAMPLE": 127
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Trikes-DL Couch-Eykon-Tower",
+      "restorable_still_archived": 808,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 808,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 807,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 808
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "GP & J Baker",
+      "restorable_still_archived": 676,
+      "ready_active_image_and_width": 532,
+      "blocked_total": 144,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 144,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 670,
+        "WRONG_SAMPLE": 6
+      },
+      "already_active_no_action": 4,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Paul Montgomery",
+      "restorable_still_archived": 656,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 656,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 656,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 57,
+        "WRONG_SAMPLE": 599
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Bespoke",
+      "restorable_still_archived": 632,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 632,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 483,
+        "need_both": 149
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 632
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Phillip Jeffries",
+      "restorable_still_archived": 584,
+      "ready_active_image_and_width": 583,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 583
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Brunschwig & Fils",
+      "restorable_still_archived": 538,
+      "ready_active_image_and_width": 178,
+      "blocked_total": 360,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 360,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 535,
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 7,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Et Cie Wall Panels",
+      "restorable_still_archived": 461,
+      "ready_active_image_and_width": 223,
+      "blocked_total": 238,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 223,
+        "need_both": 15
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 447,
+        "WRONG_SAMPLE": 14
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Designer Wallcoverings",
+      "restorable_still_archived": 456,
+      "ready_active_image_and_width": 314,
+      "blocked_total": 142,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 135,
+        "need_both": 7
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 25,
+        "WRONG_SAMPLE": 431
+      },
+      "already_active_no_action": 40,
+      "stays_archived_disco_okyb": 2,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Paul Montgomery Studios",
+      "restorable_still_archived": 443,
+      "ready_active_image_and_width": 381,
+      "blocked_total": 62,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 62,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 443
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Carlisle & Co. Walls",
+      "restorable_still_archived": 441,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 441,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 410,
+        "need_both": 31
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 441
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Paul Montgomery Art Prints",
+      "restorable_still_archived": 397,
+      "ready_active_image_and_width": 174,
+      "blocked_total": 223,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 223,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 393,
+        "WRONG_SAMPLE": 4
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Ronald Redding",
+      "restorable_still_archived": 397,
+      "ready_active_image_and_width": 49,
+      "blocked_total": 348,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 170,
+        "need_both": 178
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 111,
+        "WRONG_PRICED": 286
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 329,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Fentucci Fabrics",
+      "restorable_still_archived": 379,
+      "ready_active_image_and_width": 7,
+      "blocked_total": 372,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 372,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 16,
+        "WRONG_PRICED": 358,
+        "WRONG_SAMPLE": 5
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Colefax and Fowler",
+      "restorable_still_archived": 361,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 361,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 361,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 82,
+        "WRONG_SAMPLE": 279
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Graham & Brown",
+      "restorable_still_archived": 359,
+      "ready_active_image_and_width": 337,
+      "blocked_total": 22,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 15,
+        "need_both": 7
+      },
+      "classification_mix": {
+        "DRIFT": 1,
+        "WRONG_PRICED": 349,
+        "WRONG_SAMPLE": 9
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 881,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Clarke And Clarke",
+      "restorable_still_archived": 348,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 348,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 348,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 331,
+        "WRONG_SAMPLE": 17
+      },
+      "already_active_no_action": 47,
+      "stays_archived_disco_okyb": 2,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Malibu Walls Type 2 Vinyls",
+      "restorable_still_archived": 273,
+      "ready_active_image_and_width": 260,
+      "blocked_total": 13,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 12,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 273
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Nina Campbell",
+      "restorable_still_archived": 239,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 239,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 239,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 181,
+        "WRONG_PRICED": 5,
+        "WRONG_SAMPLE": 53
+      },
+      "already_active_no_action": 551,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Armani Casa",
+      "restorable_still_archived": 226,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 226,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 226,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 193,
+        "WRONG_SAMPLE": 33
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Sandberg",
+      "restorable_still_archived": 218,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 218,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 218,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 1,
+        "WRONG_PRICED": 43,
+        "WRONG_SAMPLE": 174
+      },
+      "already_active_no_action": 152,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Ralph Lauren Fabric",
+      "restorable_still_archived": 211,
+      "ready_active_image_and_width": 122,
+      "blocked_total": 89,
+      "blocked_breakdown": {
+        "need_image": 69,
+        "need_width": 10,
+        "need_both": 10
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 164,
+        "WRONG_SAMPLE": 47
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_verified",
+        "note": "verified cost source in price-finder cost-map"
+      }
+    },
+    {
+      "vendor": "Koroseal",
+      "restorable_still_archived": 193,
+      "ready_active_image_and_width": 31,
+      "blocked_total": 162,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 160,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 193
+      },
+      "already_active_no_action": 2,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Scalamandre Wallpaper",
+      "restorable_still_archived": 183,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 183,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 183,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 1,
+        "WRONG_PRICED": 5,
+        "WRONG_SAMPLE": 177
+      },
+      "already_active_no_action": 7,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Anna French",
+      "restorable_still_archived": 171,
+      "ready_active_image_and_width": 141,
+      "blocked_total": 30,
+      "blocked_breakdown": {
+        "need_image": 12,
+        "need_width": 17,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 115,
+        "WRONG_SAMPLE": 56
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Mulberry",
+      "restorable_still_archived": 160,
+      "ready_active_image_and_width": 115,
+      "blocked_total": 45,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 41,
+        "need_both": 4
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 153,
+        "WRONG_SAMPLE": 7
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Nicolette Mayer Wallpaper",
+      "restorable_still_archived": 156,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 156,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 156,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 121,
+        "WRONG_SAMPLE": 35
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Architectural Fabrics",
+      "restorable_still_archived": 155,
+      "ready_active_image_and_width": 133,
+      "blocked_total": 22,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 22,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 155
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Glitter Walls",
+      "restorable_still_archived": 142,
+      "ready_active_image_and_width": 142,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 36,
+        "WRONG_SAMPLE": 106
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Gaston Y Daniela",
+      "restorable_still_archived": 135,
+      "ready_active_image_and_width": 28,
+      "blocked_total": 107,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 106,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 133,
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Traditional Whimsy",
+      "restorable_still_archived": 123,
+      "ready_active_image_and_width": 99,
+      "blocked_total": 24,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 24,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 120,
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 19,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Hand Crafted",
+      "restorable_still_archived": 121,
+      "ready_active_image_and_width": 115,
+      "blocked_total": 6,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 6,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 119,
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Mind the Gap",
+      "restorable_still_archived": 121,
+      "ready_active_image_and_width": 8,
+      "blocked_total": 113,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 113,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 25,
+        "WRONG_SAMPLE": 96
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Jeffrey Stevens",
+      "restorable_still_archived": 113,
+      "ready_active_image_and_width": 45,
+      "blocked_total": 68,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 67,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 112,
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 2232,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Nina Campbell Wallcoverings",
+      "restorable_still_archived": 111,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 111,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 111,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 111
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Wolf Gordon",
+      "restorable_still_archived": 108,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 108,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 108,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 108
+      },
+      "already_active_no_action": 926,
+      "stays_archived_disco_okyb": 9,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Peel and Stick",
+      "restorable_still_archived": 92,
+      "ready_active_image_and_width": 91,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 92
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "IKSEL",
+      "restorable_still_archived": 88,
+      "ready_active_image_and_width": 86,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 86,
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "PR Faux Leather",
+      "restorable_still_archived": 88,
+      "ready_active_image_and_width": 88,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 87
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Wallpaper NYC",
+      "restorable_still_archived": 83,
+      "ready_active_image_and_width": 83,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 83
+      },
+      "already_active_no_action": 6,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Martyn Lawrence Bullard",
+      "restorable_still_archived": 77,
+      "ready_active_image_and_width": 77,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 77
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Nobilis",
+      "restorable_still_archived": 73,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 73,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 73,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 73
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Flavor Paper",
+      "restorable_still_archived": 65,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 65,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 65,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 8,
+        "WRONG_SAMPLE": 57
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Telefina Fine Fabrics",
+      "restorable_still_archived": 64,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 64,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 64,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 64
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Glass Beaded",
+      "restorable_still_archived": 64,
+      "ready_active_image_and_width": 59,
+      "blocked_total": 5,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 5,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 57,
+        "WRONG_SAMPLE": 7
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 2,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Apartment Wallpaper",
+      "restorable_still_archived": 61,
+      "ready_active_image_and_width": 61,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 51,
+        "WRONG_PRICED": 10
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Limited Stock Prints",
+      "restorable_still_archived": 60,
+      "ready_active_image_and_width": 60,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "MASS_WRONGFUL": 6,
+        "WRONG_PRICED": 54
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Limited Stock Flocked",
+      "restorable_still_archived": 60,
+      "ready_active_image_and_width": 50,
+      "blocked_total": 10,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 10,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 60
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Missoni Wallpaper",
+      "restorable_still_archived": 57,
+      "ready_active_image_and_width": 45,
+      "blocked_total": 12,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 12,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 52,
+        "WRONG_SAMPLE": 5
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Nicolette Mayer Fabrics",
+      "restorable_still_archived": 57,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 57,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 57,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 57
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Maya Romanoff",
+      "restorable_still_archived": 56,
+      "ready_active_image_and_width": 56,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 55
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 5,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "LEED Walls",
+      "restorable_still_archived": 54,
+      "ready_active_image_and_width": 54,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 40,
+        "WRONG_SAMPLE": 14
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Arte International",
+      "restorable_still_archived": 51,
+      "ready_active_image_and_width": 2,
+      "blocked_total": 49,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 29,
+        "need_both": 20
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 51
+      },
+      "already_active_no_action": 5,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Lincrusta",
+      "restorable_still_archived": 49,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 49,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 49,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 49
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Paul Montgomery Original Art",
+      "restorable_still_archived": 49,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 49,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 49,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 49
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Laura Ashley Wallpaper",
+      "restorable_still_archived": 47,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 47,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 47,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 30,
+        "WRONG_SAMPLE": 17
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Florentina Feathers",
+      "restorable_still_archived": 43,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 42,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 42,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 41,
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Fabricut",
+      "restorable_still_archived": 43,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 43,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 43
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 43
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "LA Walls",
+      "restorable_still_archived": 43,
+      "ready_active_image_and_width": 42,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 43
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 568,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Versa Designed Surfaces",
+      "restorable_still_archived": 42,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 42,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 42,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 42
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "DW Home",
+      "restorable_still_archived": 40,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 40,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 40,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 40
+      },
+      "already_active_no_action": 19,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "DW Bespoke Studio",
+      "restorable_still_archived": 37,
+      "ready_active_image_and_width": 3,
+      "blocked_total": 34,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 34,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 30,
+        "WRONG_SAMPLE": 7
+      },
+      "already_active_no_action": 3,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Zoffany",
+      "restorable_still_archived": 35,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 35,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 35,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 35
+      },
+      "already_active_no_action": 265,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Sir Edward",
+      "restorable_still_archived": 31,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 31,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 31,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 31
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Hermes",
+      "restorable_still_archived": 29,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 29,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 29,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 2,
+        "WRONG_SAMPLE": 27
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Showroom Line",
+      "restorable_still_archived": 29,
+      "ready_active_image_and_width": 13,
+      "blocked_total": 16,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 16,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 29
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 3,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Coordonné Europe",
+      "restorable_still_archived": 29,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 29,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 29,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 29
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Parkertex",
+      "restorable_still_archived": 29,
+      "ready_active_image_and_width": 29,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 29
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Malibu Walls",
+      "restorable_still_archived": 28,
+      "ready_active_image_and_width": 28,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 28
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 90,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Roberto Cavalli Wallpaper",
+      "restorable_still_archived": 27,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 27,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 27,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 4,
+        "WRONG_SAMPLE": 23
+      },
+      "already_active_no_action": 3,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Primo Leathers",
+      "restorable_still_archived": 26,
+      "ready_active_image_and_width": 26,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 21,
+        "WRONG_SAMPLE": 5
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Florence Broadhurst",
+      "restorable_still_archived": 25,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 25,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 25,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 24
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Ralph Lauren",
+      "restorable_still_archived": 24,
+      "ready_active_image_and_width": 20,
+      "blocked_total": 4,
+      "blocked_breakdown": {
+        "need_image": 2,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 16,
+        "WRONG_SAMPLE": 8
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_verified",
+        "note": "verified cost source in price-finder cost-map"
+      }
+    },
+    {
+      "vendor": "Designers Guild",
+      "restorable_still_archived": 23,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 23,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 23,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 6,
+        "WRONG_SAMPLE": 17
+      },
+      "already_active_no_action": 2,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Innovations USA",
+      "restorable_still_archived": 23,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 23,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 23,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 6,
+        "WRONG_SAMPLE": 17
+      },
+      "already_active_no_action": 50,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Osborne & Little",
+      "restorable_still_archived": 22,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 22,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 21,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 4,
+        "WRONG_SAMPLE": 18
+      },
+      "already_active_no_action": 6,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_verified",
+        "note": "verified cost source in price-finder cost-map"
+      }
+    },
+    {
+      "vendor": "Versace",
+      "restorable_still_archived": 21,
+      "ready_active_image_and_width": 10,
+      "blocked_total": 11,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 7,
+        "need_both": 4
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 10,
+        "WRONG_SAMPLE": 11
+      },
+      "already_active_no_action": 44,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Newmor Wallcoverings",
+      "restorable_still_archived": 20,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 20,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 20,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 20
+      },
+      "already_active_no_action": 9,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "AS Creation",
+      "restorable_still_archived": 20,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 20,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 17,
+        "need_both": 3
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 20
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Madagascar Walls",
+      "restorable_still_archived": 15,
+      "ready_active_image_and_width": 8,
+      "blocked_total": 7,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 7,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 11,
+        "WRONG_SAMPLE": 4
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Hollywood Acoustical",
+      "restorable_still_archived": 15,
+      "ready_active_image_and_width": 15,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 2,
+        "WRONG_SAMPLE": 13
+      },
+      "already_active_no_action": 14,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "1838 Wallcoverings",
+      "restorable_still_archived": 14,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 13,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 10,
+        "need_both": 2
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 13
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Belarte Studio",
+      "restorable_still_archived": 11,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 11,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 11,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 11
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Fentucci Wallpaper",
+      "restorable_still_archived": 11,
+      "ready_active_image_and_width": 7,
+      "blocked_total": 4,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 4,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 8,
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Romo",
+      "restorable_still_archived": 11,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 11,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 11,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 10
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_verified",
+        "note": "verified cost source in price-finder cost-map"
+      }
+    },
+    {
+      "vendor": "Zeuxis Parrhasius Europe",
+      "restorable_still_archived": 10,
+      "ready_active_image_and_width": 9,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 7,
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "British Walls",
+      "restorable_still_archived": 10,
+      "ready_active_image_and_width": 9,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 9,
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 5,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Armani/Casa",
+      "restorable_still_archived": 9,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 9,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 9,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 9
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Limited Stock",
+      "restorable_still_archived": 9,
+      "ready_active_image_and_width": 9,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 9
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 113,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Dolce & Gabbana",
+      "restorable_still_archived": 9,
+      "ready_active_image_and_width": 9,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 9
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "William Morris",
+      "restorable_still_archived": 7,
+      "ready_active_image_and_width": 5,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 5,
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 4,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Fentucci Murals",
+      "restorable_still_archived": 7,
+      "ready_active_image_and_width": 4,
+      "blocked_total": 3,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 3,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 6,
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Threads",
+      "restorable_still_archived": 7,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 7,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 4,
+        "need_both": 3
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 4,
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Brand McKenzie",
+      "restorable_still_archived": 6,
+      "ready_active_image_and_width": 6,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 6
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Cole & Son",
+      "restorable_still_archived": 6,
+      "ready_active_image_and_width": 2,
+      "blocked_total": 4,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 4,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 6
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "cost_ready_map",
+        "note": "Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)"
+      }
+    },
+    {
+      "vendor": "Coordonné",
+      "restorable_still_archived": 6,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 6,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 6,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "DRIFT": 1,
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 4
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Mid Century Modern",
+      "restorable_still_archived": 6,
+      "ready_active_image_and_width": 6,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 6
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Christian Lacroix Europe",
+      "restorable_still_archived": 5,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 5,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 5,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 4
+      },
+      "already_active_no_action": 5,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Architectural Wallcoverings",
+      "restorable_still_archived": 5,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 5,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 5,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 5
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Novasuede",
+      "restorable_still_archived": 5,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 5,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 5,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 5
+      },
+      "already_active_no_action": 1,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Missoni Home",
+      "restorable_still_archived": 5,
+      "ready_active_image_and_width": 4,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 4,
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Limited Stock Flock",
+      "restorable_still_archived": 4,
+      "ready_active_image_and_width": 4,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 4
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Schumacher",
+      "restorable_still_archived": 4,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 4,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 4,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1,
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 3,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Malibu Wallpaper",
+      "restorable_still_archived": 4,
+      "ready_active_image_and_width": 4,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 4
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Harlequin",
+      "restorable_still_archived": 3,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 3,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 3,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 3
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Big Sur Beans",
+      "restorable_still_archived": 3,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 3,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 3,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 3
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Arte",
+      "restorable_still_archived": 3,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 3,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 3,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 3
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Graduate Collection UK",
+      "restorable_still_archived": 2,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "China Seas Fabrics",
+      "restorable_still_archived": 2,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Black Edition",
+      "restorable_still_archived": 2,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Missoni Fabric",
+      "restorable_still_archived": 2,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 2,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Hinson",
+      "restorable_still_archived": 2,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 2,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 2
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Graduate Collection",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Glambeads by DW",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Farrow & Ball",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Edge Wallpaper",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "DW Internal",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "DW Bespoke Studios To Go",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Donghia",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 1
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Daisy Bennett",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Newmor",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "CMO Paris",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Studio Printworks",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "China Seas Wallpaper",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 1,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "China Seas",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Boråstapeter",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Trikes-DL Couch-Eykon-Source-One",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Ultrasuede",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Baker Lifestyle",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "arte",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Andrew Martin",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Abel Macias",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Contrado",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Milton & King",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Mark Alexander",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "NLXL",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Marimekko Exclusive",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Marburg",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Kirkby Design",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "JF Fabrics",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Innovations",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Holly Hunt In Stock",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Holly Hunt",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Heritage Collection",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    },
+    {
+      "vendor": "Porsche™ Paint - Speed Yellow",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 1,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "Grasscloth Wallpaper",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 1,
+      "blocked_total": 0,
+      "blocked_breakdown": {
+        "need_image": 0,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_PRICED": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "cost_blocked",
+        "note": "WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore"
+      }
+    },
+    {
+      "vendor": "PS Removable Wallpaper",
+      "restorable_still_archived": 1,
+      "ready_active_image_and_width": 0,
+      "blocked_total": 1,
+      "blocked_breakdown": {
+        "need_image": 1,
+        "need_width": 0,
+        "need_both": 0
+      },
+      "classification_mix": {
+        "WRONG_SAMPLE": 1
+      },
+      "already_active_no_action": 0,
+      "stays_archived_disco_okyb": 0,
+      "cost_status": {
+        "tier": "no_reprice_needed",
+        "note": "no WRONG_PRICED rows; restore does not depend on a cost source"
+      }
+    }
+  ]
+}
\ No newline at end of file
diff --git a/scripts/ncw-cleanup/april-restore-plan-2026-06-14.md b/scripts/ncw-cleanup/april-restore-plan-2026-06-14.md
new file mode 100644
index 00000000..3b2ac609
--- /dev/null
+++ b/scripts/ncw-cleanup/april-restore-plan-2026-06-14.md
@@ -0,0 +1,209 @@
+# April 2026 Mass-Archive — Staged Restore Plan (READ-ONLY PREP)
+
+Generated 2026-06-15T03:07:49.908Z by vp-dw-commerce YOLO-LOOP (READ-ONLY restore-PREP plan).
+
+**PLAN ONLY — no un-archiving, no status changes, no Shopify writes were performed.** Steve approves batch-by-batch.
+
+## Headline numbers
+
+- **Pending wrongful alerts:** 47,157
+- **Still-archived restore candidates:** 42,199
+- **RESTORE-READY now (image AND width present → can go ACTIVE):** 10,380
+- **Blocked (restore as DRAFT + Needs-Image/Needs-Width):** 31,819  (need_width 25,964 · need_image 157 · need_both 5,698)
+- Already restored by prior campaign (no action): 15,747
+- Already ACTIVE again (no action): 4,929
+- Stays archived per disco rule (OK_DISCO + OK_YB): 4,862
+
+## Top 5 vendors by restorable count
+
+| # | Vendor | Restorable | Ready-active | Cost status |
+|---|---|--:|--:|---|
+| 1 | Scalamandre Fabrics | 10,177 | 0 | no reprice needed |
+| 2 | Phillipe Romano | 5,119 | 1,842 | COST BLOCKED |
+| 3 | Hollywood Wallcoverings | 2,423 | 1,646 | COST BLOCKED |
+| 4 | Kravet | 2,305 | 812 | MAP-ready (Kravet) |
+| 5 | Fentucci | 2,192 | 0 | COST BLOCKED |
+
+## Recommended FIRST batch (for Steve to approve)
+
+**Kravet — 812 products** (of 812 image+width-ready).
+
+- Largest image+width-ready, cost-ready pool. 1k cap respects the daily variant limit; activate ACTIVE only (image+width present); >=90s gap between sub-batches.
+- Cost: cost_ready_map — Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)
+- Runner-up: Lee Jofa (598 ready-active, cost_ready_map)
+
+Why not Scalamandre/Phillipe Romano first: Scalamandre has 10,177 restorable but **0 image+width-ready** (all need width) and no verified cost source — it is a blocked/data-prep vendor, not a quick win. Kravet is MAP-priceable today.
+
+## Per-vendor staged manifest (all 157 vendors)
+
+Vendor · restorable · ready-active(img+width) · need_image · need_width · need_both · cost-status · stays-archived(disco)
+
+| Vendor | Restorable | Ready-active | Need img | Need width | Need both | Cost | Disco-stays |
+|---|--:|--:|--:|--:|--:|---|--:|
+| Scalamandre Fabrics | 10,177 | 0 | 0 | 5177 | 5000 | no reprice needed | 0 |
+| Phillipe Romano | 5,119 | 1,842 | 1 | 3275 | 1 | COST BLOCKED | 3 |
+| Hollywood Wallcoverings | 2,423 | 1,646 | 47 | 730 | 0 | COST BLOCKED | 0 |
+| Kravet | 2,305 | 812 | 20 | 1424 | 49 | MAP-ready (Kravet) | 6 |
+| Fentucci | 2,192 | 0 | 0 | 2192 | 0 | COST BLOCKED | 394 |
+| Lee Jofa | 1,379 | 598 | 0 | 775 | 6 | MAP-ready (Kravet) | 0 |
+| Holly Hunt Walls | 1,257 | 0 | 0 | 1257 | 0 | COST BLOCKED | 0 |
+| Osborne & Little Fabrics | 1,101 | 0 | 0 | 1101 | 0 | no reprice needed | 0 |
+| Thibaut | 1,096 | 363 | 1 | 732 | 0 | verified cost | 0 |
+| Retro Walls | 955 | 5 | 0 | 947 | 3 | COST BLOCKED | 0 |
+| Scalamandre | 861 | 1 | 0 | 705 | 155 | no reprice needed | 0 |
+| Trikes-DL Couch-Eykon-Tower | 808 | 0 | 0 | 807 | 1 | no reprice needed | 0 |
+| GP & J Baker | 676 | 532 | 0 | 144 | 0 | MAP-ready (Kravet) | 0 |
+| Paul Montgomery | 656 | 0 | 0 | 656 | 0 | no reprice needed | 0 |
+| Bespoke | 632 | 0 | 0 | 483 | 149 | no reprice needed | 0 |
+| Phillip Jeffries | 584 | 583 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| Brunschwig & Fils | 538 | 178 | 0 | 360 | 0 | MAP-ready (Kravet) | 1 |
+| Et Cie Wall Panels | 461 | 223 | 0 | 223 | 15 | COST BLOCKED | 0 |
+| Designer Wallcoverings | 456 | 314 | 0 | 135 | 7 | COST BLOCKED | 2 |
+| Paul Montgomery Studios | 443 | 381 | 0 | 62 | 0 | no reprice needed | 0 |
+| Carlisle & Co. Walls | 441 | 0 | 0 | 410 | 31 | no reprice needed | 0 |
+| Paul Montgomery Art Prints | 397 | 174 | 0 | 223 | 0 | COST BLOCKED | 0 |
+| Ronald Redding | 397 | 49 | 0 | 170 | 178 | COST BLOCKED | 329 |
+| Fentucci Fabrics | 379 | 7 | 0 | 372 | 0 | COST BLOCKED | 0 |
+| Colefax and Fowler | 361 | 0 | 0 | 361 | 0 | no reprice needed | 0 |
+| Graham & Brown | 359 | 337 | 0 | 15 | 7 | COST BLOCKED | 881 |
+| Clarke And Clarke | 348 | 0 | 0 | 348 | 0 | MAP-ready (Kravet) | 2 |
+| Malibu Walls Type 2 Vinyls | 273 | 260 | 1 | 12 | 0 | COST BLOCKED | 0 |
+| Nina Campbell | 239 | 0 | 0 | 239 | 0 | COST BLOCKED | 0 |
+| Armani Casa | 226 | 0 | 0 | 226 | 0 | no reprice needed | 0 |
+| Sandberg | 218 | 0 | 0 | 218 | 0 | COST BLOCKED | 0 |
+| Ralph Lauren Fabric | 211 | 122 | 69 | 10 | 10 | verified cost | 0 |
+| Koroseal | 193 | 31 | 1 | 160 | 1 | no reprice needed | 1 |
+| Scalamandre Wallpaper | 183 | 0 | 0 | 183 | 0 | COST BLOCKED | 0 |
+| Anna French | 171 | 141 | 12 | 17 | 1 | COST BLOCKED | 0 |
+| Mulberry | 160 | 115 | 0 | 41 | 4 | MAP-ready (Kravet) | 1 |
+| Nicolette Mayer Wallpaper | 156 | 0 | 0 | 156 | 0 | no reprice needed | 0 |
+| Architectural Fabrics | 155 | 133 | 0 | 22 | 0 | no reprice needed | 0 |
+| Glitter Walls | 142 | 142 | 0 | 0 | 0 | COST BLOCKED | 1 |
+| Gaston Y Daniela | 135 | 28 | 0 | 106 | 1 | MAP-ready (Kravet) | 0 |
+| Traditional Whimsy | 123 | 99 | 0 | 24 | 0 | COST BLOCKED | 0 |
+| Hand Crafted | 121 | 115 | 0 | 6 | 0 | COST BLOCKED | 0 |
+| Mind the Gap | 121 | 8 | 0 | 113 | 0 | COST BLOCKED | 0 |
+| Jeffrey Stevens | 113 | 45 | 0 | 67 | 1 | COST BLOCKED | 2232 |
+| Nina Campbell Wallcoverings | 111 | 0 | 0 | 111 | 0 | no reprice needed | 0 |
+| Wolf Gordon | 108 | 0 | 0 | 108 | 0 | no reprice needed | 9 |
+| Peel and Stick | 92 | 91 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| IKSEL | 88 | 86 | 0 | 2 | 0 | COST BLOCKED | 0 |
+| PR Faux Leather | 88 | 88 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Wallpaper NYC | 83 | 83 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Martyn Lawrence Bullard | 77 | 77 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Nobilis | 73 | 0 | 0 | 73 | 0 | no reprice needed | 0 |
+| Flavor Paper | 65 | 0 | 0 | 65 | 0 | COST BLOCKED | 0 |
+| Telefina Fine Fabrics | 64 | 0 | 0 | 64 | 0 | no reprice needed | 0 |
+| Glass Beaded | 64 | 59 | 0 | 5 | 0 | COST BLOCKED | 2 |
+| Apartment Wallpaper | 61 | 61 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Limited Stock Prints | 60 | 60 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Limited Stock Flocked | 60 | 50 | 0 | 10 | 0 | COST BLOCKED | 0 |
+| Missoni Wallpaper | 57 | 45 | 0 | 12 | 0 | COST BLOCKED | 0 |
+| Nicolette Mayer Fabrics | 57 | 0 | 0 | 57 | 0 | no reprice needed | 0 |
+| Maya Romanoff | 56 | 56 | 0 | 0 | 0 | COST BLOCKED | 5 |
+| LEED Walls | 54 | 54 | 0 | 0 | 0 | no reprice needed | 0 |
+| Arte International | 51 | 2 | 0 | 29 | 20 | no reprice needed | 0 |
+| Lincrusta | 49 | 0 | 0 | 49 | 0 | COST BLOCKED | 0 |
+| Paul Montgomery Original Art | 49 | 0 | 0 | 49 | 0 | COST BLOCKED | 0 |
+| Laura Ashley Wallpaper | 47 | 0 | 0 | 47 | 0 | COST BLOCKED | 0 |
+| Florentina Feathers | 43 | 1 | 0 | 42 | 0 | COST BLOCKED | 0 |
+| Fabricut | 43 | 0 | 0 | 0 | 43 | no reprice needed | 0 |
+| LA Walls | 43 | 42 | 1 | 0 | 0 | no reprice needed | 568 |
+| Versa Designed Surfaces | 42 | 0 | 0 | 42 | 0 | no reprice needed | 0 |
+| DW Home | 40 | 0 | 0 | 40 | 0 | COST BLOCKED | 0 |
+| DW Bespoke Studio | 37 | 3 | 0 | 34 | 0 | COST BLOCKED | 0 |
+| Zoffany | 35 | 0 | 0 | 35 | 0 | COST BLOCKED | 0 |
+| Sir Edward | 31 | 0 | 0 | 31 | 0 | no reprice needed | 0 |
+| Hermes | 29 | 0 | 0 | 29 | 0 | COST BLOCKED | 0 |
+| Showroom Line | 29 | 13 | 0 | 16 | 0 | COST BLOCKED | 3 |
+| Coordonné Europe | 29 | 0 | 0 | 29 | 0 | no reprice needed | 0 |
+| Parkertex | 29 | 29 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Malibu Walls | 28 | 28 | 0 | 0 | 0 | COST BLOCKED | 90 |
+| Roberto Cavalli Wallpaper | 27 | 0 | 0 | 27 | 0 | COST BLOCKED | 0 |
+| Primo Leathers | 26 | 26 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Florence Broadhurst | 25 | 0 | 0 | 25 | 0 | COST BLOCKED | 0 |
+| Ralph Lauren | 24 | 20 | 2 | 2 | 0 | verified cost | 0 |
+| Designers Guild | 23 | 0 | 0 | 23 | 0 | COST BLOCKED | 1 |
+| Innovations USA | 23 | 0 | 0 | 23 | 0 | COST BLOCKED | 1 |
+| Osborne & Little | 22 | 0 | 0 | 21 | 1 | verified cost | 0 |
+| Versace | 21 | 10 | 0 | 7 | 4 | COST BLOCKED | 0 |
+| Newmor Wallcoverings | 20 | 0 | 0 | 20 | 0 | no reprice needed | 0 |
+| AS Creation | 20 | 0 | 0 | 17 | 3 | no reprice needed | 0 |
+| Madagascar Walls | 15 | 8 | 0 | 7 | 0 | COST BLOCKED | 0 |
+| Hollywood Acoustical | 15 | 15 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| 1838 Wallcoverings | 14 | 1 | 1 | 10 | 2 | COST BLOCKED | 0 |
+| Belarte Studio | 11 | 0 | 0 | 11 | 0 | no reprice needed | 0 |
+| Fentucci Wallpaper | 11 | 7 | 0 | 4 | 0 | COST BLOCKED | 0 |
+| Romo | 11 | 0 | 0 | 11 | 0 | verified cost | 0 |
+| Zeuxis Parrhasius Europe | 10 | 9 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| British Walls | 10 | 9 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| Armani/Casa | 9 | 0 | 0 | 9 | 0 | COST BLOCKED | 0 |
+| Limited Stock | 9 | 9 | 0 | 0 | 0 | COST BLOCKED | 113 |
+| Dolce & Gabbana | 9 | 9 | 0 | 0 | 0 | no reprice needed | 0 |
+| William Morris | 7 | 5 | 0 | 2 | 0 | COST BLOCKED | 0 |
+| Fentucci Murals | 7 | 4 | 0 | 3 | 0 | COST BLOCKED | 0 |
+| Threads | 7 | 0 | 0 | 4 | 3 | MAP-ready (Kravet) | 0 |
+| Brand McKenzie | 6 | 6 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Cole & Son | 6 | 2 | 0 | 4 | 0 | MAP-ready (Kravet) | 1 |
+| Coordonné | 6 | 0 | 0 | 6 | 0 | COST BLOCKED | 0 |
+| Mid Century Modern | 6 | 6 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Christian Lacroix Europe | 5 | 0 | 0 | 5 | 0 | COST BLOCKED | 0 |
+| Architectural Wallcoverings | 5 | 0 | 0 | 5 | 0 | no reprice needed | 0 |
+| Novasuede | 5 | 0 | 0 | 5 | 0 | no reprice needed | 0 |
+| Missoni Home | 5 | 4 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| Limited Stock Flock | 4 | 4 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Schumacher | 4 | 0 | 0 | 4 | 0 | COST BLOCKED | 3 |
+| Malibu Wallpaper | 4 | 4 | 0 | 0 | 0 | no reprice needed | 0 |
+| Harlequin | 3 | 0 | 0 | 3 | 0 | no reprice needed | 0 |
+| Big Sur Beans | 3 | 0 | 0 | 3 | 0 | COST BLOCKED | 0 |
+| Arte | 3 | 0 | 0 | 3 | 0 | COST BLOCKED | 0 |
+| Graduate Collection UK | 2 | 0 | 0 | 2 | 0 | COST BLOCKED | 0 |
+| China Seas Fabrics | 2 | 0 | 0 | 2 | 0 | no reprice needed | 0 |
+| Black Edition | 2 | 0 | 0 | 2 | 0 | no reprice needed | 0 |
+| Missoni Fabric | 2 | 0 | 0 | 2 | 0 | no reprice needed | 0 |
+| Hinson | 2 | 0 | 0 | 1 | 1 | no reprice needed | 0 |
+| Graduate Collection | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Glambeads by DW | 1 | 1 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Farrow & Ball | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Edge Wallpaper | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| DW Internal | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| DW Bespoke Studios To Go | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Donghia | 1 | 0 | 0 | 0 | 1 | COST BLOCKED | 0 |
+| Daisy Bennett | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Newmor | 1 | 0 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| CMO Paris | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Studio Printworks | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| China Seas Wallpaper | 1 | 0 | 0 | 1 | 0 | no reprice needed | 1 |
+| China Seas | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Boråstapeter | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Trikes-DL Couch-Eykon-Source-One | 1 | 0 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| Ultrasuede | 1 | 1 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| Baker Lifestyle | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| arte | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Andrew Martin | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Abel Macias | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Contrado | 1 | 0 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| Milton & King | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Mark Alexander | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| NLXL | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Marimekko Exclusive | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Marburg | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Kirkby Design | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| JF Fabrics | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Innovations | 1 | 1 | 0 | 0 | 0 | no reprice needed | 0 |
+| Holly Hunt In Stock | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Holly Hunt | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Heritage Collection | 1 | 0 | 0 | 1 | 0 | no reprice needed | 0 |
+| Porsche™ Paint - Speed Yellow | 1 | 0 | 0 | 1 | 0 | COST BLOCKED | 0 |
+| Grasscloth Wallpaper | 1 | 1 | 0 | 0 | 0 | COST BLOCKED | 0 |
+| PS Removable Wallpaper | 1 | 0 | 1 | 0 | 0 | no reprice needed | 0 |
+
+## Staging cadence (per the standing rules)
+
+- **1,000 variant/day limit** until the store hits 50K+ variants → each daily batch caps at 1k restores.
+- **≥90s gap** between bulk sub-batches.
+- Ready-active products → restore as ACTIVE (image+width verified). Blocked products → restore as DRAFT + Needs-Image / Needs-Width tag (never ACTIVE without both).
+- **OK_DISCO / OK_YB are excluded** — genuinely discontinued stays ARCHIVED per the disco rule.
+- WRONG_PRICED restores must reprice first: Kravet-family at MAP; the 7 price-finder cost-map vendors via verified cost; **cost_blocked vendors need a verified cost source before any reprice/restore.**
+
+Source: Kamatera dw_unified (canonical), read-only. Machine-readable manifest: `april-restore-plan-2026-06-14.json`.
diff --git a/scripts/ncw-cleanup/build-april-restore-manifest.js b/scripts/ncw-cleanup/build-april-restore-manifest.js
new file mode 100644
index 00000000..44287765
--- /dev/null
+++ b/scripts/ncw-cleanup/build-april-restore-manifest.js
@@ -0,0 +1,45 @@
+// READ-ONLY plan builder: merges Kamatera-exported TSVs into the April restore manifest JSON.
+const fs = require('fs');
+const DIR = require('os').homedir()+'/Projects/Designer-Wallcoverings/scripts/ncw-cleanup';
+function readTsv(p){ return fs.readFileSync(p,'utf8').trim().split('\n').filter(Boolean).map(l=>l.split('\t')); }
+const man = readTsv(DIR+'/_april_manifest.tsv').slice(1);
+const disco = new Map(readTsv(DIR+'/_disco_per_vendor.tsv').map(r=>[r[0], +r[1]]));
+const active = new Map(readTsv(DIR+'/_already_active.tsv').map(r=>[r[0], +r[1]]));
+const classMix = {};
+for(const [v,c,n] of readTsv(DIR+'/_class_mix.tsv')){ (classMix[v] ||= {})[c] = +n; }
+const KRAVET_FAMILY = new Set(['Kravet','Lee Jofa','Lee Jofa Modern','Groundworks','Brunschwig & Fils','Cole & Son','GP & J Baker','Colefax and Fowler','Colefax & Fowler','Clarke & Clarke','Clarke And Clarke','Mulberry','Threads','Baker Lifestyle','Andrew Martin','Nicolette Mayer','Aerin','Barclay Butera','Thom Filicia','Gaston Y Daniela','Gaston y Daniela','Kravet Couture','Kravet Design','Kravet Contract','Kravet Basics']);
+const VERIFIED_COST = new Set(['Romo','Thibaut','Osborne & Little','Designtex','Ralph Lauren','WallQuest','York Contract']);
+function costStatus(vendor, mix){
+  const hasPriced = (mix.WRONG_PRICED||0) > 0;
+  if(!hasPriced) return {tier:'no_reprice_needed', note:'no WRONG_PRICED rows; restore does not depend on a cost source'};
+  if(KRAVET_FAMILY.has(vendor)) return {tier:'cost_ready_map', note:'Kravet-family: reprice at vendor MAP (whls*1.5 / map_num)'};
+  if(VERIFIED_COST.has(vendor) || [...VERIFIED_COST].some(x=>vendor.startsWith(x))) return {tier:'cost_ready_verified', note:'verified cost source in price-finder cost-map'};
+  return {tier:'cost_blocked', note:'WRONG_PRICED rows present but NO verified cost source — needs cost before reprice/restore'};
+}
+const vendors = man.map(([vendor,restorable,ready_active,need_image,need_width,need_both])=>{
+  const mix = classMix[vendor]||{};
+  return { vendor, restorable_still_archived:+restorable, ready_active_image_and_width:+ready_active,
+    blocked_total:+restorable-+ready_active,
+    blocked_breakdown:{need_image:+need_image, need_width:+need_width, need_both:+need_both},
+    classification_mix:mix, already_active_no_action:active.get(vendor)||0,
+    stays_archived_disco_okyb:disco.get(vendor)||0, cost_status:costStatus(vendor,mix) };
+}).sort((a,b)=>b.restorable_still_archived-a.restorable_still_archived);
+const totals = vendors.reduce((a,v)=>{a.total_restorable+=v.restorable_still_archived;a.total_ready_active+=v.ready_active_image_and_width;a.total_blocked+=v.blocked_total;a.need_image+=v.blocked_breakdown.need_image;a.need_width+=v.blocked_breakdown.need_width;a.need_both+=v.blocked_breakdown.need_both;return a;},{total_restorable:0,total_ready_active:0,total_blocked:0,need_image:0,need_width:0,need_both:0});
+const firstCandidates = vendors.filter(v=>v.ready_active_image_and_width>0 && v.cost_status.tier!=='cost_blocked').sort((a,b)=>b.ready_active_image_and_width-a.ready_active_image_and_width);
+const out = {
+  generated_at:new Date().toISOString(),
+  generated_by:'vp-dw-commerce YOLO-LOOP (READ-ONLY restore-PREP plan)',
+  scope:'April 2026 mass-archive catastrophe — staged restore triage. PLAN ONLY, no writes performed.',
+  hard_rules_observed:['READ-ONLY: no un-archiving, no status changes, no Shopify writes','Discontinued = ARCHIVE (OK_DISCO/OK_YB excluded from restore)','NEVER ACTIVE without image AND width metafield','1k/day variant limit + >=90s between batches reflected in staging'],
+  source:{db:'Kamatera dw_unified (canonical) via tailscale 100.107.67.67, read-only repl_user',tables:['archive_alerts','shopify_products'],join:'archive_alerts.shopify_id = shopify_products.shopify_id (100% match across 47157 pending wrongful alerts)'},
+  classification_rules:{restore_candidate_buckets:['WRONG_PRICED','WRONG_SAMPLE','MASS_WRONGFUL','DRIFT'],stays_archived_buckets:['OK_DISCO (genuinely discontinued — disco rule)','OK_YB'],restore_candidate_def:'pending (restored_at IS NULL) wrongful alert whose Shopify product is STILL status=ARCHIVED',image_width_rule:'NEVER ACTIVE without image AND width metafield; otherwise restore as DRAFT + Needs-Image / Needs-Width',width_detect_keys:['metafields.global.Width','metafields.global.width','metafields.custom.width','metafields.dwc.width']},
+  universe:{total_pending_wrongful_alerts:47157,still_archived_restore_candidates:totals.total_restorable,already_active_no_action_needed:[...active.values()].reduce((a,b)=>a+b,0),stays_archived_disco_okyb:4862,already_restored_by_prior_campaign:15747},
+  totals, restore_ready_count:totals.total_ready_active,
+  top5_vendors_by_restorable:vendors.slice(0,5).map(v=>({vendor:v.vendor,restorable:v.restorable_still_archived,ready_active:v.ready_active_image_and_width,cost_status:v.cost_status.tier})),
+  recommended_first_batch:firstCandidates[0]?{vendor:firstCandidates[0].vendor,batch_size:Math.min(1000,firstCandidates[0].ready_active_image_and_width),pool_ready_active:firstCandidates[0].ready_active_image_and_width,cost_status:firstCandidates[0].cost_status,rationale:'Largest image+width-ready, cost-ready pool. 1k cap respects the daily variant limit; activate ACTIVE only (image+width present); >=90s gap between sub-batches.',runner_up:firstCandidates[1]?{vendor:firstCandidates[1].vendor,ready_active:firstCandidates[1].ready_active_image_and_width,cost_status:firstCandidates[1].cost_status.tier}:null}:null,
+  vendors
+};
+fs.writeFileSync(DIR+'/april-restore-plan-2026-06-14.json', JSON.stringify(out,null,2));
+console.log('WROTE JSON. restorable=%d ready_active=%d blocked=%d', totals.total_restorable, totals.total_ready_active, totals.total_blocked);
+console.log('first batch:', out.recommended_first_batch.vendor, out.recommended_first_batch.batch_size, out.recommended_first_batch.cost_status.tier);
+console.log('top5:', out.top5_vendors_by_restorable.map(v=>v.vendor+':'+v.restorable+'/'+v.ready_active).join(' | '));

← 79ccd409 brands-page: luxe wordmark SVGs for 6 new high-inventory bra  ·  back to Designer Wallcoverings  ·  Roll-Readiness Dossier audit 2026-06-14 (ranked JSON + summa 45675134 →