← back to Designer Wallcoverings
cadence: wire York (york_catalog) into vendors.js, HELD in DENY_VENDORS (inert)
a746f7efee3a13e3ce48ab70b2cba39be386c2cd · 2026-06-21 09:15:00 -0700 · Steve
York net-new was unreachable by the cadence importer: york_catalog (DWJS- prefix)
was absent from vendors.js (only brewster_catalog + york_contract_catalog were
wired). 4,613 rows are net-new (no shopify_product_id), 4,607 costed via cost,
4,229 already carry azure (bhf-cdn) images in all_images. Of 691 rows WITH a
shopify_product_id, ~395 are numeric REST IDs resolving to dangling/null Shopify
products (never created) -> skipped by the net-new gate until cleared.
This commit is config-only and IMPORTS NOTHING: York is keyed to the already-
confirmed vendor_registry name 'York Wallcoverings' (discount_confirmed=true) and
simultaneously added to DENY_VENDORS, so the auto-uploader hard-skips it. The
DENY-lift + dangling-ID clear + targeted re-crawl + paced run are gated for Steve
(pending-approval/york-reimport-cadence-wiring.md). DTD 3/3 verdict A 2026-06-21.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files touched
M shopify/scripts/cadence/cadence-import.jsM shopify/scripts/cadence/vendors.js
Diff
commit a746f7efee3a13e3ce48ab70b2cba39be386c2cd
Author: Steve <steve@designerwallcoverings.com>
Date: Sun Jun 21 09:15:00 2026 -0700
cadence: wire York (york_catalog) into vendors.js, HELD in DENY_VENDORS (inert)
York net-new was unreachable by the cadence importer: york_catalog (DWJS- prefix)
was absent from vendors.js (only brewster_catalog + york_contract_catalog were
wired). 4,613 rows are net-new (no shopify_product_id), 4,607 costed via cost,
4,229 already carry azure (bhf-cdn) images in all_images. Of 691 rows WITH a
shopify_product_id, ~395 are numeric REST IDs resolving to dangling/null Shopify
products (never created) -> skipped by the net-new gate until cleared.
This commit is config-only and IMPORTS NOTHING: York is keyed to the already-
confirmed vendor_registry name 'York Wallcoverings' (discount_confirmed=true) and
simultaneously added to DENY_VENDORS, so the auto-uploader hard-skips it. The
DENY-lift + dangling-ID clear + targeted re-crawl + paced run are gated for Steve
(pending-approval/york-reimport-cadence-wiring.md). DTD 3/3 verdict A 2026-06-21.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
shopify/scripts/cadence/cadence-import.js | 3 ++-
shopify/scripts/cadence/vendors.js | 10 ++++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/shopify/scripts/cadence/cadence-import.js b/shopify/scripts/cadence/cadence-import.js
index 72f7b352..188ed452 100644
--- a/shopify/scripts/cadence/cadence-import.js
+++ b/shopify/scripts/cadence/cadence-import.js
@@ -49,7 +49,8 @@ const TODAY = new Date().toISOString().slice(0, 10);
// import these (belt-and-suspenders for sub-brand/registry drift). Today vendors.js already
// excludes them by omission; this hard-blocks a future accidental add. (compliance officer, 2026-06-17)
const DENY_VENDORS = new Set(['Nicolette Mayer','Phillip Jeffries','Et Cie','Spoonflower','Colefax & Fowler','Carlisle','Paul Montgomery','Cowtan & Tout','Rebel Walls','Koroseal','Newmor','Wolf Gordon','Scalamandre','Desima',
- 'Romo']); // Romo: vendors.js note "confirm tariff treatment w/ Steve before bulk import" → hold from the auto-uploader until confirmed
+ 'Romo', // Romo: vendors.js note "confirm tariff treatment w/ Steve before bulk import" → hold from the auto-uploader until confirmed
+ 'York Wallcoverings']); // York (york_catalog): wired in vendors.js 2026-06-21 (DTD verdict A) but HELD — re-import needs the ~395 dangling shopify_product_ids cleared + paced run; gated for Steve (pending-approval/york-reimport-cadence-wiring.md)
// Innovations LIFTED 2026-06-18 (Steve): cost on innovations_catalog.price_trade (10% off net, per-yd),
// wired in vendors.js (soldBy:Yard). Imported the costed-not-on-Shopify rows as DRAFTs (no --activate).
const INV_LOCATION = 'gid://shopify/Location/5795643504'; // 15442 Ventura Blvd. (inventory-set-2026.js)
diff --git a/shopify/scripts/cadence/vendors.js b/shopify/scripts/cadence/vendors.js
index cd66bf96..d047e856 100644
--- a/shopify/scripts/cadence/vendors.js
+++ b/shopify/scripts/cadence/vendors.js
@@ -62,4 +62,14 @@ module.exports = {
// → discontinued patterns (NULL price_trade) self-exclude. ⚠️ STILL hard-blocked in cadence-import
// DENY_VENDORS (compliance 2026-06-17): wiring is config-only until Steve removes it there to import.
'Innovations': { table: 'innovations_catalog', costExpr: 'NULLIF(price_trade,0)', soldBy: 'Yard', productType: 'Wallcovering', discountNote: '10% off net (cost=list×0.90); priced & sold PER YARD; still in DENY_VENDORS until Steve lifts' },
+ // York (york_catalog, DWJS- prefix — the yorkwall.com trade-portal "Jeffrey Stevens" source,
+ // DISTINCT from 'York Contract' (york_contract_catalog) and 'Brewster & York' (brewster_catalog)).
+ // 5,053/5,304 rows costed via `cost` (wholesale from the York/Brewster price list); us_map = MAP.
+ // retail = cost/0.65/0.85 sits ABOVE us_map on samples, so the MAP floor holds without a sellExpr
+ // (same as 'Brewster & York'). KEYED to the vendor_registry name 'York Wallcoverings'
+ // (discount_confirmed=true) so the cadence discount gate passes WITHOUT a money flag-flip on the
+ // FALSE 'York (Jeffrey Stevens source)' row (DTD 3/3 verdict A, 2026-06-21).
+ // ⚠️ HELD in cadence-import.js DENY_VENDORS until Steve lifts it — config-only wiring (Innovations
+ // pattern); it imports NOTHING while denylisted. Re-import universe ≈ 4,613 net-new + ~395 dangling.
+ 'York Wallcoverings': { table: 'york_catalog', costExpr: 'cost', soldBy: 'Single Roll', productType: 'Wallcovering', discountNote: 'cost=wholesale from York/Brewster price list; us_map MAP floor; retail=cost/0.65/0.85 above MAP; HELD in DENY_VENDORS until Steve lifts' },
};
← 2e01b21e cadence: disarm --collections auto-join to Trending (Steve 2
·
back to Designer Wallcoverings
·
trending: read-only audit + gated trim draft for collection fc4f4ec2 →