← back to Dw Activation Calendar
Never-activate guard for Et Cie (rights revoked) — whole-word title match
4b7d2d8d04fc2084e312f005eb1b50541cdc0926 · 2026-08-13 08:15:24 -0700 · Steve
Et Cie rights revoked 2026-08-13; all 25 ACTIVE panels archived on the live store.
Add a title-based never-activate guard so a future re-import can't auto-publish as
'new'. Keyed on the whole-word phrase 'et cie' (Postgres \y boundaries) so it catches
BOTH title forms ('Et Cie <name>' and '<name> by Et Cie Wall Panels') while excluding
'Anet Ciel | Pierre Frey'. Vendor filter can't catch these (vendor='Designer
Wallcoverings'). Deliberately NOT keyed on the PANEL- SKU prefix — that scheme is
shared with Paul Montgomery Studios (434+ live) and would wrongly freeze them.
Symlinked into dw-rotation-activator, so both consumers get it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Files touched
Diff
commit 4b7d2d8d04fc2084e312f005eb1b50541cdc0926
Author: Steve <steve@designerwallcoverings.com>
Date: Thu Aug 13 08:15:24 2026 -0700
Never-activate guard for Et Cie (rights revoked) — whole-word title match
Et Cie rights revoked 2026-08-13; all 25 ACTIVE panels archived on the live store.
Add a title-based never-activate guard so a future re-import can't auto-publish as
'new'. Keyed on the whole-word phrase 'et cie' (Postgres \y boundaries) so it catches
BOTH title forms ('Et Cie <name>' and '<name> by Et Cie Wall Panels') while excluding
'Anet Ciel | Pierre Frey'. Vendor filter can't catch these (vendor='Designer
Wallcoverings'). Deliberately NOT keyed on the PANEL- SKU prefix — that scheme is
shared with Paul Montgomery Studios (434+ live) and would wrongly freeze them.
Symlinked into dw-rotation-activator, so both consumers get it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---
lib/rotation-order.js | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/lib/rotation-order.js b/lib/rotation-order.js
index d65ad0b..ecf7bdc 100644
--- a/lib/rotation-order.js
+++ b/lib/rotation-order.js
@@ -59,6 +59,17 @@ const NOISE_REGEX =
// NOT Phillip Jeffries); Phillip Jeffries = DWJP-/DWPJ-. Matched by vendor NAME, not SKU prefix.
const NEVER_ACTIVATE_VENDORS = "gracie|fromental|zuber|de gournay|astek|jeffrey stevens|phillip jeffries";
+// NEVER-ACTIVATE brand matched by TITLE, not vendor (2026-08-13, Et Cie rights revoked).
+// Et Cie panels carry vendor "Designer Wallcoverings" — the brand lives ONLY in the TITLE, so the
+// vendor filter above can NOT catch them. Steve: "we do not have rights to show any more" (all Et
+// Cie were ARCHIVED 2026-08-13; this stops a NEW import from auto-activating as "new").
+// Et Cie ships in TWO title forms — "Et Cie <name>" AND "<name> by Et Cie Wall Panels" — so the
+// match is the whole-word phrase "et cie" ANYWHERE in the title (Postgres \y word boundaries):
+// catches both forms yet EXCLUDES "Anet Ciel | Pierre Frey" (the et/cie there sit inside anet/ciel,
+// no word boundary). Do NOT guard on the PANEL- SKU prefix — it is SHARED with Paul Montgomery
+// Studios (434+ live) and others, so a SKU-prefix block would wrongly freeze them.
+const NEVER_ACTIVATE_TITLE = "\\yet cie\\y";
+
// SAMPLE-SKU filter (2026-08-10, TK-10446). ~90% of the DRAFT pool are memo/sample
// SKUs (…-Sample, …-S). Activating one publishes a standalone $4.25 memo listing
// (Google-Merchant $4.25-leak / disapproval risk). Samples must NEVER activate as
@@ -94,6 +105,7 @@ WITH pool AS (
WHERE status = 'DRAFT'
AND vendor NOT ILIKE '%schumacher%' -- internal-only, never storefront
AND lower(coalesce(vendor,'')) !~ '${NEVER_ACTIVATE_VENDORS}' -- Gracie/Fromental/Zuber/De Gournay/Astek: bespoke/quote-only/internal, never auto-publish
+ AND lower(coalesce(title,'')) !~ '${NEVER_ACTIVATE_TITLE}' -- Et Cie (rights revoked 2026-08-13): brand in TITLE, both "Et Cie …" and "… by Et Cie" forms; vendor is "Designer Wallcoverings"
AND lower(coalesce(title,'')) !~ '${NOISE_REGEX}' -- drop help-doc noise rows
AND lower(coalesce(sku, dw_sku, '')) !~ '${SAMPLE_SKU_REGEX}' -- exclude memo/sample SKUs (…-Sample / …-S): never a standalone live listing
AND NOT EXISTS ( -- re-introduction guard (TITLE): skip a DRAFT whose title was EVER on the store
← 601f67f auto-data-snapshot: 2026-08-13T00:12:07 (1 data files) — dat
·
back to Dw Activation Calendar
·
chore: version bump vpatch (session close — Et Cie guard) e193aa5 →